2

を使用してフォルダを別のフォルダにコピーすることはできますEXCEL-VBAか?

例はこちら

ここに画像の説明を入力

D9 の例で v を入力し、E3 にターゲット パスを入力すると、E:\DATABASE2012Data2012 のフォルダーが内部のファイルに沿ってターゲット フォルダー F:\Workdata にコピーされます。

したがって、基本的に必要なのは、E3 にターゲット パスを入力し、v を D7 または/および/または D9 に挿入することだけです。

でこれを行うことは可能VBAですか?

4

1 に答える 1

3

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

フィリップ

于 2013-03-06T10:16:39.180 に答える