- ベストアンサー
EXCEL2003 VBAマクロ 特定フォルダ直下のファイル処理
EXCEL2003 VBAマクロ 特定フォルダ直下のファイル処理 いつも大変御世話になっております。 WiindowsXP環境にある【D:\input】フォルダ直下にいろんなフォルダ及びファイル等があります。 【D:\input】直下にあるファイルすべてを【D:\output】に移動したいのですが 【D:\input】直下にはファイルだけあれば制御しやすいのですが、 【D:\input】直下には、サブフォルダ(その下にファイル・フォルダ等もあるので)もあるのでうまく マクロで制御出来ません。 移動対象は、【D:\input】フォルダ内の拡張子がある(.○○系)ファイルのみです。 拡張子自体が存在しないフォルダは移動対象ではありません。 どうすれば【移動対象のフォルダ構成は崩壊した状態で、すべてのファイルが【D:\output】直下に移動する。】 事が可能でしょうか? もしご存知の方がいらっしゃるようでしたら、ご教授願いますでしょうか? 何卒宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
説明が細かすぎて逆にわからん。。。 D:\input フォルダにあるファイルのみを D:\output に移動したいってこと? FileSystemObject を使えば一発か。 参照設定で "Microsoft Scripting Runtime" にチェックを入れる。 ちなみに各行のインデントは全角スペースを入れてあるので、このままコピペしてもエラーになる。 全角スペースを削除して [TAB] でインデントさせること。 Sub Hoge() Dim fso As Scripting.FileSystemObject Dim fs As Scripting.Files Dim f As Scripting.File Set fso = New Scripting.FileSystemObject Set fs = fso.GetFolder("D:\input\") For Each f In fs f.Move "D:\output\" Next End Sub 参照設定をしたくなければ Dim fso As Object, fs As Object, f As Object Set fso = CreateObject("Scripting.FileSystemObject") Set fs = fso.GetFolder("D:\input\").Files For Each f In fs f.Move "D:\output\" Next とか。