プロが教えるわが家の防犯対策術!

EXCELファイルのカレントフォルダを取得するには?

C:\経理\予算.xls

D:\2005年度\予算.xls

EXCEL97ファイルがあります。

VBAで
  カレントフォルダ名
(C:\経理\,D:\2005年度\)
を取得する事は可能でしょうか?

CURDIRでは上手い方法が見つかりませんでした。

A 回答 (4件)

こんばんは。


Excel97 でも、同じですね。以下で試してみてください。

Sub test()
'このブックのパス
a = ThisWorkbook.Path
'アクティブブックのパス
b = ActiveWorkbook.Path
'Excelで設定されたデフォルトパス
c = Application.DefaultFilePath
'カレントディレクトリ
d = CurDir
MsgBox "このブックのパス   : " & a & Chr(13) & _
   "アクティブブックのパス: " & b & Chr(13) & _
   "デフォルトパス    : " & c & Chr(13) & _
   "カレントディレクトリ : " & d & Chr(13)
End Sub
    • good
    • 15
この回答へのお礼

いたれりつくせりですね。
ありがとうございます。

今、自宅から書き込んでるのですが
CURDIRは使えますね。
会社では、うまく行かなかったのですが・・・

お礼日時:2005/08/09 07:13

こんにちは。



>CURDIRは使えますね。
>会社では、うまく行かなかったのですが・・・

私自身としては、

'アクティブブックのパス
b = ActiveWorkbook.Path

がよいと思っています。CurDir は、本来、ActiveWorkbook のフォルダとは無関係なのです。CurDir(CurrentDirectory =現在のフォルダ)というのは、Excelのアプリケーションで、「ファイル-開く」を行ったときに、開くフォルダーのことなのです。
    • good
    • 15

ブックを開いているのであれば



Application.ThisWorkbook.Path

でしょうけど、Excel97で動作するか、未検証。(2000はOK)
    • good
    • 3
この回答へのお礼

Excel97でも使えます。

お礼日時:2005/08/08 23:51

=info("directory")


では駄目ですか?

この回答への補足

VBAではエラーが出ますが

シートのセルに書くと使えますね。

補足日時:2005/08/08 23:42
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!