• ベストアンサー

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

EXCELファイルのカレントフォルダを取得するには? C:\経理\予算.xls D:\2005年度\予算.xls EXCEL97ファイルがあります。 VBAで   カレントフォルダ名 (C:\経理\,D:\2005年度\) を取得する事は可能でしょうか? CURDIRでは上手い方法が見つかりませんでした。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 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

COS_BUSTER
質問者

お礼

いたれりつくせりですね。 ありがとうございます。 今、自宅から書き込んでるのですが CURDIRは使えますね。 会社では、うまく行かなかったのですが・・・

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんにちは。 >CURDIRは使えますね。 >会社では、うまく行かなかったのですが・・・ 私自身としては、 'アクティブブックのパス b = ActiveWorkbook.Path がよいと思っています。CurDir は、本来、ActiveWorkbook のフォルダとは無関係なのです。CurDir(CurrentDirectory =現在のフォルダ)というのは、Excelのアプリケーションで、「ファイル-開く」を行ったときに、開くフォルダーのことなのです。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

ブックを開いているのであれば Application.ThisWorkbook.Path でしょうけど、Excel97で動作するか、未検証。(2000はOK)

COS_BUSTER
質問者

お礼

Excel97でも使えます。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

=info("directory") では駄目ですか?

COS_BUSTER
質問者

補足

VBAではエラーが出ますが シートのセルに書くと使えますね。

関連するQ&A

  • エクセル2003にてカレントフォルダを確認する方法

    エクセル2007の場合は http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_140.html のやり方で、「EXCELのオプション」から確認できるようですが エクセル2003の場合どこから確認できますか? ファイル→プロパティ→ファイルの情報を見てもありません。 その「ファイルの情報」のパスと、VBAでCurDirをした時の戻り値が違うので、 「ファイルの情報」のパスはカレントフォルダではないですよね?

  • VBA カレントディレクトリ取得について

    お世話になってます。 VBAの初心者です。 test.mdbファイルを "C\TEST" という作業ディレクトリ配下において そのmdbのモジュールでCurDirを使用してカレントディレクトリを取得する という処理をVBAで書きたいのですが、 Dim strPath As String strPath = CurDir("C") と記述し実行しても strPathに格納される値は "C\" となってしまいます。 本当は"C\TEST"という値を取得したいのですが、 使用方法が間違っているのか、何が悪いのかよく分かりません。 よろしくお願い致します。

  • カレントブックのファイル名の取得

    早速ですが。 カレントブック(例:test.xls)の名前をどうやって取得できますか。 マクロ(code)にカレントブック名を固定値(test.xls)で指定していますが、 下記のように、改善したいと思いますが、 ================================= test.xlsのマクロに PCvsFileName="test.xls" Windows("PCvsFileName").Activate ================================= 該当xlsファイル名は常に変わるから、カレントブックのファイル名の取得方法が 知りたいです。 よろしくお願いします。

  • Excel VBA カレントフォルダのひとつ上のフォルダを指定したい

    はじめて質問をさせていただきます。 ExcelのVBA初心者なのですが、既存のファイルに継ぎ足しで新規のファイルを作成しております関係上、カレントフォルダのひとつ上のフォルダを指定したいと考えております。 変数=thisworkbook.path のようにカレントフォルダの取得の仕方は分かったのですが、そこからひとつ上を指定する方法などはあるのでしょうか? よろしくお願いいたします。

  • Excel97VBAで、カレントディレクトリを取得する方法

    Excel97のVBAで、ワークブックの保存ボタンを作成しています。 1.xlsというファイルを、一旦、1.prn(スペース区切りテキスト)でデスクトップに保存し、再度元のディレクトリの1.xlsに上書き保存する。というマクロを作っています。 SaveAsでFileFormatを変更するところまではわかったのですが、元のファイルに上書きする方法がわかりません。 一度、カレントディレクトリを取得して、同じ名前を付けて保存する、という方法になるのではないかと思いましたが、カレントディレクトリの取得方法がわかりません。 宜しくお願いします。

  • アクセス(MSAccess)でカレントデータベースのパスを取得するには?

    ■MS Accessでカレントデータベースのパス(ファイル名まで)を取得できるのでしょうか? [テキストボックス]の[コントロールソース]に使用する場合、 "=CurDir$()"を使えばデータベースのパスまでは取得できますが、 "c:\my documents\data.mdb"といったように、データベース名まで 取得する方法を教えてください。

  • VBA ネットワーク上のファイルでカレントフォルダを取得するには?

    VBA ネットワーク上のファイルでカレントフォルダを取得するには? VBA超初心者でネットで色々調べて、ところどころコピーしながらプログラムを作っています。 ローカルのPCでは問題なく動くまでになったのですが、実際にはネットワーク上の共有サーバで実行したいのですが、ネットワーク上ではカレントパスがうまく設定できていないようで、動きません。 CreateObject("WScript.Shell").CurrentDirectory = ThisWorkbook.Path というコードでVBAが置いてあるフォルダをカレントディレクトリに設定するようにしています。 どのようにしたらネットワークサーバで動くようになりますか?

  • エクセルのVBAで開いているファイルと同じフォルダのファイルを開きたいとき

    エクセルのVBAで開いているファイルと同じフォルダのファイルを開きたいのですが、どうしても上手くいきません。 いろいろなフォルダやパソコンに移動しても使えるように C:\フォルダ1\TEST.XLS という指定ではなく、「今開いているファイルと同じフォルダから開く」ということはできますか? 上手く説明ができていなくて申し訳ありませんが、 もしよろしければ教えてください。

  • ExcelVBAでファイルを開くフォルダ指定方法

    ExcelのVBAを用いて実験データのcsvファイルをまとめるプログラムを書いています. 肝心のプログラムはほぼできています. しかし OpenfileName = Application.GetOpenFilename("CSVファイル,*.csv?") としたときに開かれるフォルダ(ファイルを指定するフォルダ)がカレントフォルダ?となっております. 実行するExcel(VBA入り)と実験データが下記のパスにあったとして C:\Users\ABC\Documents\Data\110302\ カレントフォルダはなぜかマイドキュメントがデフォルトになってしまいます. C:\Users\ABC\Documents\ 階層移動できるので問題なくもないのですが,一々階層移動するのも面倒なので修正したいと考えております. そこで (1)プログラム実行直前にカレントフォルダを実行するExcel(VBA入り)の位置に変更する方法 (2)カレントフォルダと関係なく実行するExcel(VBA入り)があるフォルダを開く方法 どちらかで対処できると考えたのですがその方法が見つかりません. (ちなみに実行するExcel(VBA入り)の位置は動かすものとするので絶対パスでの指定はなしとします) どなたかご教授お願いします.

  • エクセルのVBAについて

    エクセルのVBAについて教えて下さい。 エクセルのVBAでプログラムを組んでいるのですが、一つわからないことがあるのです。 マクロが実行(オープン)されるファイル名(ファイルパス)をVBAで取得するためにはどうすればいいでしょうか? たとえば、マクロが実行されるファイルがC:\テスト.xlsならば "C:\テスト.xls"を取得したいと考えています。 どなたかご教授お願い致します。 宜しくお願い致します。

専門家に質問してみよう