• ベストアンサー

ExcelVBAでカレントディレクトリのファイルを開く方法は?

ExcelVBAでファイルを開くとき、 Workbooks.OpenText Filename:="D:\DataDir\TestFile.txt" とフルパスを指定すれはファイルを開けますが、パス指定なしでカレントディレクトリ(VBAを起動したExcelファイルがあるディレクトリ)のファイルを開くためにはどうしたらいいんでしょうか? 教えてください。ちなみにExcel2000を使っています。

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

  • ベストアンサー
  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.2

○カレントディレクトリ CurDir ○ThisBookのあるディレクトリ ThisWorkbook.Path ○ActiveBookのあるディレクトリ ActiveWorkbook.Path ○ThisBookのフルパス ThisWorkbook.FullName ○XLStartのパス Application.StartupPath 実際に書くコードはこんな感じ。 Workbooks.OpenText Filename:=ThisWorkbook.Path  & "\TestFile.txt"

abekkan
質問者

お礼

これでばっちりです。ご丁寧にありがとうございました。m(_ _)m

その他の回答 (1)

noname#6715
noname#6715
回答No.1

CurDir関数等をVBAのヘルプで 引いてみてください。

abekkan
質問者

お礼

ありがとうございました。 CurDir関数があるというのは知りませんでした。

関連するQ&A

  • Cronでのカレントディレクトリについて

    3日前からVine Linuxを初めてインストールしまして、 自宅サーバをやろうとしている、初心者です。 これまではxrea.comのレンタルスペースを借りてphpでコンテンツを作っていました。 phpをCronを使って、定期的実行する際に [シェルファイル] #!/bin/sh #PHP /usr/bin/php /var/www/html/filename.php exit のようにしてファイル操作をするphpを実行させたのですが [filename.php] <?php $fp=fopen("../data/dat.txt","w"); fputs($fp,$data); fclose($fp); ?> で実行したところURLからは問題なく dat.txt の内容を編集することができるのですが cronからだと PHP Warning: fopen(../data/data.txt): failed to open stream: No such file or directory となります。 そこでカレントディレクトリを調べると /root/PHPs/ となっていたので、そのようなエラーになっていました (1)カレントディレクトリを変更するコードを毎回phpに組み込む (2)フルパスでファイルを指定する ことでこのトラブルは回避されるのですが、 xrea.comでは、相対パス、カレントディレクトリを毎回指定しなくても、実行できていました。 cronでphpを実行する際に、phpが存在するディレクトリへ 自動でカレントディレクトリを移動するようにしたいです。 そのような方法があれば、教えてくください。

  • 【Mac/Xcode】カレントディレクトリのファイルの読み込みについて

    Xcode(C++)で、設定ファイル(test.txt)を読み込むプログラムを作成しています。 困っているのは、できあがった実行ファイル(test.app)と同じディレクトリにその設定ファイルを置いて、test.appをダブルクリックで実行しても、設定ファイルを読み込めないでいます。(VC++ではできたのですが) もちろん、明示的にtest.txtのパスを下記のソースで指定すれば読み込めます。実行する場所が毎回決まっていないので、カレントディレクトリ内のファイルが読み込めるようにしたいです。 ソースは以下のように書いてます。 Xcode側で何か設定とかがあるのでしょうか? どなたかご存知の方がいらっしゃいましたらご教授のほどよろしくお願いいたします。 ※test.appの場所は、"プロジェクト名/build/Debug/test.app" です。 -------------------------------------------- void main(){ FILE* fp; char s[256];  char *filename = "test.txt"; fp = fopen(filename, "r"); if( ! fp){ printf("ファイルオープン失敗"); // ここに入る return;  } while (fgets(s, 256, fp) != NULL) { // test.txt を読み込む処理 (中略) } (中略) }

  • カレントディレクトリ内のファイルを配列に読むには?

    カレントディレクトリ内のファイルの中で指定した拡張子のファイルを全て配列に読み込ませるプログラムを書こうと頑張っています。 しかし、方針がわからず困っています。 方針だけでも良いので教えていただけないでしょうか? よろしくお願いいたします。

  • マクロで指定ファイルを開く方法

    ずぶの素人です。 例えばエクセルシートのA1に「こんにちわ」と 入力するとハードディスクの指定のフォルダ内から 「こんにちわ」と言うファイルを開く事はできるのでしょうか? 変数?というものを使ってみたものの ファイル名 = Range("A1") Workbooks.OpenText Filename:=C:\ファイル名.txt" としてみたところで ファイル名というファイルを探しにいってしまい 一向に進みません。 なんせ素人なんものでテキストを見ても 意味がわかりません。 どうかよろしくお願いします。

  • VBAでのcsv読み込みについて

     VBA初心者です。テキストファイル(ファイルの中はカンマ区切り)を別なEXCELシートではなくて、VBAを実行したEXCEL内のシート(例えばSheet2)に落としたいのですが、うまくいきません。  Workbooks.OpenText Filename:="C:\csv_test.txt", StartRow:=1, DataType:=xlDelimited, Comma:=True~ と記述すれば、別シートには落ちるのですが・・・。  簡単なことかもしれませんが、ご回答よろしくお願いいたします。

  • EXCEL 2003のVBAでテキストファイルの取り込み方

    EXCEL 2003のVBAでテキストファイルの取り込み方 EXCEL 2003のVBAでテキストファイルのみをとりこむものを組もうと思います。 - 読み込むテキストファイル名は一定の決まりがあります。AAxxxx.txt あるいは ZZxxx.txt といった感じで先頭文字はAAまたはZZで中のxxxは数字の可変(日付)です。 - Directoryはどこに入るか決まりがありません。(このマクロを使用するユーザーがどこのDirectoryにテキストファイルを保存しているかわからないため) FILEN = Application.GetOpenFilename If FILEN = False Then Exit Sub End If Workbooks.OpenText Filename:=FILEN でやると、Directoryの問題は解決しますが、テキストファイル名を絞り込めません いい方法をご教示いただければ助かります。

  • カレントディレクトリの取得

    お世話になります。 バッチファイルでの処理中にカレントディレクトリをフルパスで取得し 変数に値を格納したいのですが、やり方が分かりません。。 いろいろ調べた結果、カレントディレクトリの取得は「CD」 変数への格納は、「==」or「set」なのかな?ってぐらいの知識レベルです。 上記のコマンド以外でも構いませんので、カレントディレクトリを取得し 変数に値を格納する方法を、記述の仕方を含めてご教示くださいませ。 宜しくお願い致します。

  • batファイルでrenameができません。

    Windowsのbatファイルでrenameをするにはどうすればよいでしょうか? カレントディレクトリ └ A というディレクトリ構造があって、Aの中には「a.txt」があるとします。 カレントディレクトリから、 「rename "./a/A.txt" B.txt」 と書いてあるbatファイルを起動しても、「a.txt」の名前が変更されません。 「指定したパスが見つかりません。」と出てきてしまいます。 ダブルクォーテーションを取ったりつけたり、絶対パス、相対パスを書いたりと いろいろ試しましたがだめでした。 何か方法はないでしょうか?

  • EXCEL2003でマクロ ファイル操作

    Workbooks.Open Filenameでファイルを開くとき フルパスを指定してやらないといけませんが、 マクロ実行ファイルと同ディレクトリにある場合は パスはいらないのでしょうか? 別途記述(ロジック)方法があるのでしょうか? よろしくお願いします。

  • エクセルマクロでファイルオープンでシートカットが使えない

    エクセルマクロでファイルオープンでシートカットが使えない エクセルのVBAマクロについて教えて下さい。 ”Application.GetSaveAsFilename”にてファイルを指定して、”Workbooks.OpenText Filename”にてファイルをオープンするときに、”Application.GetSaveAsFilename”にて指定したファイルがシートカットの時にエラーで停止する。 もし、”Application.GetSaveAsFilename”が実際のファイルの場合には、エラーで停止しない。 ■実際のVBA aFile = Application.GetSaveAsFilename(InitialFileName:=TaskF & "\" & "*.xls", FileFilter:="Excel(xls)ファイル (*.xls),*.xls") Workbooks.OpenText Filename:=aFile  ←左記の箇所でエラー停止する。

専門家に質問してみよう