- ベストアンサー
Excel VBA 複数のフォルダのコピー
Excel2003を使用しています。 毎月、一定の作業が完了したら、複数のフォルダをバックアップを兼ねてコピーしています。 (以下、仮に、コピーするフォルダを3つとし、フォルダ名をAAA、BBB、CCCとします。フォルダ内にはそれぞれ複数のファイルが保存されています。) 毎月の作業は、Fドライブに保存してあるフォルダで行い、その月の作業が完了したら、Dドライブ、Eドライブ、Gドライブへフォルダごとコピーしたく、それをマクロで処理することは可能でしょうか? (数種類のメディアへコピーをとっておきたいのです) よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
フォルダー単位での複写方法 http://officetanaka.net/excel/vba/filesystemobject/filesystemobject.htm#CopyFolder 若しくは Visual Basic Editor の [ツール]-[参照設定] で、 "Microsoft Scripting Runtime" にチェックをして Dim myFSO As New FileSystemObject myFSO.CopyFolder "C:\AAA", "D:\AAA"
その他の回答 (3)
[イミディエイト] ? FolderCopy( "c:\temp\*.csv", "d:\temp") True このように FileSystemObject を利用してフォルダ間コピーが可能です。 ' ---------------------------------------------------------------- ' FolderCopy( "c:\temp\*.csv", "d:\temp") ' ---------------------------------------------------------------- Public Function FolderCopy(ByVal F As String, _ ByVal T As String) As Boolean On Error GoTo Err_FolderCopy Dim isOK As Boolean isOK = True CreateObject("Scripting.FIleSystemObject").CopyFile F, T Exit_FolderCopy: FolderCopy = isOK Exit Function Err_FolderCopy: MsgBox Err.Description & "( FolderCopy)" isOK = False Resume Exit_FolderCopy End Function
お礼
お礼が遅くなり、申し訳ありません。 教えていただいたコード、参考にさせていただきます。 アドバイスありがとうございました。
- hallo-2007
- ベストアンサー率41% (888/2115)
>毎月、一定の作業が完了したら、複数のフォルダをバックアップを兼ねてコピーしています。 わざわざエクセルを使用しなくても良くないですか? 1、MS-DOSのXcopyコマンドでバッチファイルを実行する。 http://sonic64.com/2006-04-13.html 参考にしてみてください。 更新されていないファイルをコピィしないなどあるので、動作は圧倒的に早いです。 ほか、Windowsのブリーフケースをメディアに作成してその中に一度コピィしておけば、次からはメディアを差し込むだけです。 今では、NAS(ネットワークで使用するハードディスク)もかなり安くなっています。数万円から 複数のパソコンから使えます(主たる目的ですが)ミラーリングとか機能がありますので、データの保守についてはこちらの方が強力だと思います。
お礼
お礼が遅くなり、申し訳ありません。 >わざわざエクセルを使用しなくても良くないですか? あるExcelファイルを開くことで、毎月の作業に使用しているフォルダを一気に複数のメディアへコピーできればと思い、Excelでと考えていました。 記載していただいたURL参考にさせていただきます。 アドバイスありがとうございました。
- magician_1
- ベストアンサー率26% (27/101)
Batファイルの作り方を知っているのであればBatファイルが簡単です。 EXCELのハイパーリンクから実行できると思います。
お礼
お礼が遅くなり申し訳ありません。 >Batファイルの作り方を知っているのであればBatファイルが簡単です。 残念ながら、Batファイルの作り方を知りませんので、この機会に勉強してみます。 アドバイスありがとうございました。
お礼
お礼が遅くなり申し訳ありません。 記載していただいたURL、大変参考になりました。 おかげさまで、希望通りのものが完成しました。 ありがとうございました。