web-dev-qa-db-ja.com

VBAで現在のワークシートのパスを取得する方法

私はadd = inとしてマクロを書きました。そして、それが実行されている現在のワークシートのパスを取得する必要があります。どうやってこれをするの?ファイルパス(ディレクトリのみ)を取得する方法を教えてください。

パス自体(ワークブック名​​なし)のみにApplication.ActiveWorkbook.Pathを使用するか、またはワークブック名​​に with パスを使用する場合はApplication.ActiveWorkbook.FullNameを使用します。

242
BradC

いつも持っていてうれしい:

Dim myPath As String     
Dim folderPath As String 

folderPath = Application.ActiveWorkbook.Path    
myPath = Application.ActiveWorkbook.FullName
33
Alex22

マクロが実行されている場所からワークブックのパスを取得したい場合は、Application.ThisWorkbook.Pathを使用してください。
Application.ActiveWorkbook.Pathは予期しない結果になることがあります(たとえば、マクロが複数のワークブックを切り替える場合)。

23
avalanche1