VBA:ファイルコピーの違い。FileSystemObjectの「CopyFile」と「FileCopy」ステートメント


VBAでファイルなどのコピーをする際によく使う方法には以下のようなものがあります。

  1. 「File System Object(FSO)」の「CopyFileメソッド」
  2. 「FileCopy」ステートメント
    「File System Object」の「CopyFileメソッド」の方がやれることが多く、「FileCopy」の上位互換という感じです。スピードは特に変わらないです。

    ◆やれることやれないこと一覧

    1.FSOのCopyFile 2.FileCopy
    (1)「source」に「*(ワイルドカード)」と「?」が使える ×
    (2)上書き設定(overwrite) ×
    (3)開いているファイルをコピー ×
    (4)ファイル名省略 ×
    (5)環境依存文字 UTF16 UTF8
    <参照>マイクロソフト:https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/copyfile-method

    (1)「source」に「*(ワイルドカード)」と「?」の例と(4)ファイル名の省略

     ファイル名に日付やバージョンが付けられていて、タイミングによってそれらの部分が変わる場合があります。そのような時にワイルドカードなどを利用します。

    (2)上書き設定(overwrite)

     以前実行したコピーファイルがコピー先のフォルダに残っていたとしても、コピー元の最新のファイルに上書きすることができます。

    ◆関連記事

    VBA:【FSO】ファイルのコピー「CopyFile」(FileSystemObject)

    【VBA】FileSystemObjectを使ってファイルをコピーする方法

    VBA:ファイルのコピー「FileCopyステートメント」

    【VBA】ファイルのコピー「FileCopyステートメント」について




    おすすめ