質問: vbaによるファイルの起動について お世話になっております。 ファイルaにマクロを作成し、ファイルaのパスを求めます。 そして、ファイルbを開き、ファイルaのパス名でフィルタをかけ(仮にa列とします) それに対応するファイル名を求めます。仮にc列とします。 この場合、c列に書かれているファイル名(仮にファイルc)を起動するにはどうしたらよいのでしょうか? そもそもこんな事を考えたのは ファイルaに起動するファイル名を書いておき、起動することはわかるのですが、 今後起動する”ファイルc”の数が増えることが予想され、メンテナンスの面から ファイルaの存在するフォルダより起動する”ファイルc”を対応させたテーブル この場合”ファイルb”を作成し、そこのメンテナンスさえ行えば、ファイル数の増減にも 楽に対応できるのではと思ったからです。 そもそもこのような事は無理なのでしょうか? わかりづらい文章かもしれませんが、 宜しくお願い致します。
回答: 解りづらいですね。 なぜbファイルが必要なのかも良く解りません。 基本的には開きたいファイルのフルパスを作ってやれば良いだけなので、やりたい事は可能だと思いますが。 例えばファイルaにマクロを書き、同じフォルダに置いたexcelファイル全てに処理をするというような運用ではダメなのでしょうか? 1.下記のようなマクロを書いたファイルを適当なフォルダに保存 2.同じフォルダに処理したいexcelファイルを置く 3.マクロを実行 sub test1() dim myfile as string, mypath as string mypath = thisworkbook.path & "\" myfile = dir(mypath & "*.xls", vbnormal) do while myfile <> "" if myfile <> thisworkbook.name then msgbox mypath & myfile ' workbooks.open mypath & myfile end if myfile = dir loop end sub