を使用してフォルダを別のフォルダにコピーすることはできますEXCEL-VBA
か?
例はこちら
D9 の例で v を入力し、E3 にターゲット パスを入力すると、E:\DATABASE2012Data2012 のフォルダーが内部のファイルに沿ってターゲット フォルダー F:\Workdata にコピーされます。
したがって、基本的に必要なのは、E3 にターゲット パスを入力し、v を D7 または/および/または D9 に挿入することだけです。
でこれを行うことは可能VBA
ですか?
Command Interpreter XCOPY コマンドを使用して、このオールド スクール スタイルを実行できます。
' VBA Code to open a command window and run XCOPY
Shell Environ("comspec") & " /k xcopy " & Range("E9").text & " " & Range("F9").text & " /s /e /i"
つまり、コマンド ウィンドウを開き、XCOPY コマンドを実行して、範囲 E9 のフォルダーを F9 で指定された新しいディレクトリにコピーします。
/k - コマンド ウィンドウを開いたままにします - テストに役立ちます
/c - 終了時にコマンド ウィンドウを閉じます。
XCOPY で使用できる多数のスイッチがあり、Microsoft で詳しく説明されています - XCOPY スイッチ
または、 Ron De Bruin: VBA FileCopyおよびRon De Bruin: VBA FolderCopyで説明されているように、FILECOPY を使用することもできます。
Excel 2010-2013 をお持ちの場合は、新しいCopyFolder メソッドを使用できます
さらに別のオプションは、FILESYSTEMOBJECT - CopyFolder メソッドを使用することです(例: FileSystemObject.CopyFolder "c:\mydocuments\letters*", "c:\tempfolder\" )
HTH
フィリップ