- ベストアンサー
エクセルVBA あるフォルダのファイルを順に開くには
あるフォルダの全てのファイルを 【開く】→<処理>→【閉じる】 を順に繰り返すマクロはどうしたらいいのでしょうか WIN2000Pro EXEL2000 よあろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ファイル名を取得するのは Sub test02() Const sPATH = "c:\My Documents\" 'ファイルの保管場所 Dim sFILENAME As String 'ファイル名 sFILENAME = Dir(sPATH & "*.doc") 'ファイルのパスと種類を指定 While sFILENAME <> "" '空文字以外の場合ループ MsgBox "ファイル名 " & sFILENAME sFILENAME = Dir() '引数無しのDir関数を呼び出すと次のファイル名を返す Wend End Sub のようにDir関数で出来そうです。 しかし大事なこと(前提)を質問に書き忘れていませんか。 普通の技量の人が「開く」ことが出来るのは、極く限られたファイル種類のファイルでしょう。 テキストファイル、エクセルファイル、ワードファイル、 mdbファイルなどぐらいではないですか。 一般にはファイルを開くには、それを作ったソフトをエクセルからハンドリング出来ないと駄目ですが、そんなに容易いことではありませんよ。
その他の回答 (2)
- WWolf
- ベストアンサー率26% (51/192)
DrPh = "c:\" Set fs = CreateObject"Scripting.FileSystemObject") Set f = fs.GetFolder(DrPh) Set fc = f.Files For Each f1 In fc s = f1.Name st = st + s Next MsgBox st End Sub 上記はCドライブのルート配下のファイル名をstに羅列代入しています。参考にどうぞ
お礼
ありがとうございました
- anmochi
- ベストアンサー率65% (1332/2045)
どう開いてどんな処理をしてどう閉じるのかという問題もあるが、とりあえずそのためには「あるフォルダの全てのファイル名」一覧を取得しなければならない。 Windows2000とVBAを使っているのなら、一覧の取得はFileSystemObjectsを使うのが便利だろう。ヘルプもあるし、ネット上にも有用な情報がたくさんあるので検索すると良い。
お礼
いきなりファイル名を取得できないんですね。 ありがとうございました。
お礼
Dir関数をつかってファイル名を使うんですね。 調べて思うようにファイル名を取得できました。 ありがとうございました。