- ベストアンサー
同一フォルダ内のファイルを開く
よろしくお願いします。 エクセルです。 マクロにて、現在開いているファイルと同一フォルダ内のファイルを開きたいのですが、マクロ構成はどうしたらよろしいですか? フォルダ指定のマクロも考えたのですが、PC使用環境によっては、フォルダを置く場所が異なります。 ※同一フォルダ内に保存するマクロは、この『教えて』でChDirを使うことを教授させていただきました。似たような簡単な構成はありますか? 使用環境はXP、offece2003です。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 具体例を示します。 Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & "test.xls"
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
>ファイルと ブックのことをイメージしているらしいが、あいまいです。 現在のフォルダは、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
お礼
早速の回答、ありがとうございました! 参考になりました。 これからもご指導をよろしくお願いします。
- marbin
- ベストアンサー率27% (636/2290)
>現在開いているファイル この定義がいまいちはっきりしませんが、 マクロが記述されているブック自身のことでしたら、 ThisWorkBook.Path でブックが格納されているフォルダのパスを取得します。 マクロでアクティブになっている別ブックを操作する場合は、 ka_na_deさんのコードのとおりです。
お礼
早速の回答、ありがとうございました! 参考になりました。 これからもご指導をよろしくお願いします。
- ka_na_de
- ベストアンサー率56% (162/286)
これでどうですか? Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & ファイル名
お礼
早速の回答、ありがとうございました! 参考になりました。 これからもご指導をよろしくお願いします。