• ベストアンサー

同一フォルダ内のファイルを開く

よろしくお願いします。 エクセルです。 マクロにて、現在開いているファイルと同一フォルダ内のファイルを開きたいのですが、マクロ構成はどうしたらよろしいですか? フォルダ指定のマクロも考えたのですが、PC使用環境によっては、フォルダを置く場所が異なります。 ※同一フォルダ内に保存するマクロは、この『教えて』でChDirを使うことを教授させていただきました。似たような簡単な構成はありますか? 使用環境はXP、offece2003です。

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

  • ベストアンサー
  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.2

#1です。 具体例を示します。 Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & "test.xls"

tomtom0628
質問者

お礼

早速の回答、ありがとうございました! 参考になりました。 これからもご指導をよろしくお願いします。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

>ファイルと ブックのことをイメージしているらしいが、あいまいです。 現在のフォルダは、CurDir でどうですか。 下記はFSOを使っています。フォルダの中には、エクセル以外のファイルも入っていることもあり、エクセルを越えた立場から考えると 適当かと思い上げます。 ーー Sub test01() MsgBox CurDir Dim fso Set fso = CreateObject("Scripting.FileSystemObject") ' Set f1 = fso.CreateTextFile(CurDir & "\" & "text1.txt", True) Set f = fso.opentextfile(CurDir & "\" & "test.txt") b = f.ReadAll MsgBox b Set f = Nothing Set fso = Nothing End Sub ーー ファイル名の表示は Sub test02() MsgBox CurDir Dim fso Dim fol Dim fil Set fso = CreateObject("Scripting.FileSystemObject") Set fol = fso.GetFolder(CurDir) Set fil = fol.Files For Each f In fil MsgBox f.Name Next set fi l= Nothing Set fol = Nothing Set fso = Nothing End Sub

tomtom0628
質問者

お礼

早速の回答、ありがとうございました! 参考になりました。 これからもご指導をよろしくお願いします。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.3

>現在開いているファイル この定義がいまいちはっきりしませんが、 マクロが記述されているブック自身のことでしたら、 ThisWorkBook.Path でブックが格納されているフォルダのパスを取得します。 マクロでアクティブになっている別ブックを操作する場合は、 ka_na_deさんのコードのとおりです。

tomtom0628
質問者

お礼

早速の回答、ありがとうございました! 参考になりました。 これからもご指導をよろしくお願いします。

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.1

これでどうですか? Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & ファイル名