2017-11-07 16 views
0
から実行された場合は、ブックのファイルパス/位置を取得する方法

私は私のマクロが私のPersonal.xlsbファイルに隠れて持っている、と私は、ブックと同じディレクトリにファイルを保存したいです私はマクロを適用しています。 は、現在、私が使用している場合:VBAは - マクロはPersonal.xlsb

Application.ThisWorkbook.Path 

ITSは(マクロから茎)Personal.xlsbの場所ではなく、ブックのディレクトリを取得します。誰かが私のワークブックにモジュールを追加せずにこの問題を解決する方法を教えてください。

+2

'ActiveWorkbook.Path'は、アクティブなブックのパスを指定します。コードを表示すると、それが適切なものかどうか、あるいは 'Path'プロパティを使うのに必要な他のワークブックオブジェクトであるかどうかを判断するのに役立ちます。 – YowE3K

+0

@ YowE3Kパーフェクト、ありがとう!それは私が必要としていたもので、マクロが来たワークブックではなく、私が取り組んでいたワークブックを見つけるためのものでした。 :D問題が解決しました! – ianquiksilver

+1

@ YowE3K答えを記入してください。質問に回答があるとマークされることがあります。 –

答えて

3

Pathプロパティは、ThisWorkbookオブジェクトだけでなく、Workbookオブジェクトでも使用できます。

ので、ActiveWorkbookのパスを取得するには、ActiveWorkbook.Pathを使用することができます。あなたは、もちろん、"C:\Temp\Test"を返すことになるwb.Pathを使用することができます

Dim wb As Workbook 
Set wb = Workbooks.Open("C:\Temp\Test\File1.xlsx") 

それともあなたは持っている場合には、例えば、のようなものを使用して、ブックを開きました。

+0

よろしく!私の場合、それはちょうど雑多な場所のいくつかのファイルのマクロを実行し、それは同じディレクトリにcsvファイルを吐き出させるので、動的ソリューションの必要性:) – ianquiksilver