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

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

A 回答 (4件)

#1です。



具体例を示します。

Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & "test.xls"
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/07/10 14:24

>ファイルと


ブックのことをイメージしているらしいが、あいまいです。
現在のフォルダは、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
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/07/10 14:24

>現在開いているファイル



この定義がいまいちはっきりしませんが、
マクロが記述されているブック自身のことでしたら、
ThisWorkBook.Path
でブックが格納されているフォルダのパスを取得します。

マクロでアクティブになっている別ブックを操作する場合は、
ka_na_deさんのコードのとおりです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/07/10 14:24

これでどうですか?



Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & ファイル名
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A