VBAでのカレントディレクトリは【CurDir】で取得できるが、Excelファイルのディレクトリを指しているわけではないらしい。

動きを見ていると、別名保存したときに最初に表示されるディレクトリを指している。


Excelファイルのディレクトリを指すためには・・・

Dim lastC As Integer
lastC = InStrRev(ActiveWorkbook.FullName, "\")
currDir = Left(ActiveWorkbook.FullName, lastC)
でOK。

currDirにExcelファイルのフルパスが格納される。


ちなみに、ディレクトリ作成【MkDir】を実行したりすると、たまにカレントディレクトリが他の場所を指したりするから、

ディレクトリやファイル操作時にはChDir(currDir)でカレントディレクトリを明示的に指しておく方が無難かも。