質問: です。 実験用に、 デスクトップに、移動元というフォルダを作り、 その中に、子a、子b、子cというフォルダを作り、 さらに、それぞれ、孫a、孫b、孫cというフォルダを作りました。 それぞれの孫フォルダには、4つずつダミーファイルを入れました。 ※これが、解凍後の状態になります。 図面の拡張子は特殊なものなので、今回は、わかりやすいように、 xlsとdocにします。 a-a-1.doc、a-a-1.xls、a-a-2.doc、a-a-2.xls という感じです。 ファイル名は、a-a-1や、c-b-2のようにして、 それぞれ、 「子aのフォルダの中の孫aの1つ目」 「子cのフォルダの中の孫bの2つ目」 という意味になるようにしています。 書き出したリストと、 pathの組み合わせと、 for nextもしくは do loopの組み合わせで なんとかなりそうなのですが、 頭の中が混乱して答えが導き出せません。 今週中に作らないといけないので、 お力をお貸しください。 よろしくお願いいたします。
回答: scripting オブジェクトのmovefolderを使えばフォルダごとごっそりと移動できます。 sub test01 dim ofs as object set ofs = createobject("scripting.filesystemobject") ofs.movefolder "c:\users\desktop\移動元" , "c:\users\desktop\移動先" set ofs = nothing end sub ※移動先フォルダが存在しない場合に自動的に作成移動されます。 既に移動先フォルダが存在し、フォルダ内にファイル・サブフォルダがある場合はエラーになります。 zipファイルだけを除外するようなオプションはありません。 vba標準のステートメントだけでは不自由なのでマスターしてください。 http://www.happy2-island.com/vbs/cafe02/capter00216.shtml