VBAのCopyFile・MoveFileで「コピペ地獄」を卒業する方法

【業務効率化】VBA
スポンサーリンク

「あぁ、またこのフォルダに50個のファイルを移さなきゃ……。一個ずつドラッグして、貼り付けて、名前を確認して。あ、間違えて消しちゃったかも。また最初からやり直しか……。」

そんなため息をついたことはありませんか?

実務の現場では、毎日のように発生するファイルのコピーや移動。一つひとつは数秒の作業でも、積み重なれば一日の貴重な時間を奪っていきます。

そこで今回は、VBAを使ってこれらの作業を一瞬で完了させる「FileSystemObject」のCopyFileとMoveFileの活用法をご紹介します。

【業務効率化】VBAの記事を見る 

ファイル操作の強い味方「FileSystemObject」

VBAでファイルを自由自在に操るには、「FileSystemObject(ファイル・システム・オブジェクト)」という道具を使うのが一番確実です。

  1. CopyFile:ファイルをコピーして別の場所に複製する(元のファイルは残ります)
  2. MoveFile:ファイルを別の場所へ移動する(元の場所からは削除されます)

コピペで使える!基本のコード

まずは、一番シンプルなコードを紹介します。

Sub ManageFiles()
    ' FileSystemObjectを使うための準備をします
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
   
    ' コピー元とコピー先のパスを指定します
    ' ※実際のフォルダパスに書き換えてください
    Dim sourcePath As String
    Dim destPath As String
   
    sourcePath = "C:\Temp\sample.xlsx" ' 元のファイル
    destPath = "C:\Backup\sample_bk.xlsx" ' コピー先
   
    ' 1. ファイルをコピーする (CopyFile)
    ' 第3引数をTrueにすると、同名のファイルがあっても上書きします
    fso.CopyFile sourcePath, destPath, True
   
    ' 2. ファイルを移動する (MoveFile)
    ' 移動先に同名ファイルがあるとエラーになるので注意です
    ' fso.MoveFile "C:\Temp\move_me.xlsx", "C:\Archive\"
   
    ' 後片付け
    Set fso = Nothing
   
    MsgBox "作業が完了しました!"
End Sub

私の失敗談:彼方へ消えたファイル

私も初心者の頃はたくさん失敗をしました。

以前、MoveFileを使ってファイルを移動させようとした時、移動先のパスを「C:\Archive」と書くべきところを、うっかり「C:\Archiv」と一文字間違えてしまったのです。

その結果、どうなったと思いますか?

「Archiv」という名前の「拡張子がない謎のファイル」が出来上がってしまいました。フォルダに移動したかったのに、名前を変えてファイルとして保存されてしまったのです。「ファイルが消えた!」と大慌てしましたが、実際にはただ名前が変わっていただけでした。

このようなミスを防ぐためには、移動先のパスがフォルダであることを示すために、末尾に必ず「\(バックスラッシュ、または円マーク)」を付与することが大切です。

この小さなテクニックだけで、私のような失敗は防げます。

ぜひに取り入れてみてください!

【業務効率化】VBAの記事を見る 


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でしたが、年間100万円以上節約していました。
株式投資で年間360万円以上投資し、iDeCoも併用しています。
総資産はアッパーマス層に到達しました。
資格は日商簿記3級を持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、生産性を高めるITスキルについて発信しています。

生活を豊かにするため、高配当株投資で年間配当金60万円をめざしています。
現在の年間配当金は30万円ほどです。

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

タイトルとURLをコピーしました