Excel VBA ファイル(エクセルブック)をコピーする FileSystemObject

スポンサーリンク
スポンサーリンク

ファイル(エクセルブック)をコピーする方法

やりたい事

「FileSystemObject」の「CopyFile」メソッドを使ってファイルをコピーする方法を解説します。

「FileCopy」ステートメントを使用してファイルコピーする方法は関連記事で解説しています。

サンプルコード

Sub fileCopySample()

    Dim objFSO As Object
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    Dim sourceFile As String
    Dim distinationFile As String
     
    sourceFile = "D:\Excel\macro.xlsm"
    distinationFile = "D:\Excel\work\sample.xlsm"
    
    objFSO.CopyFile sourceFile, distinationFile, False

End Sub

構文

object.CopyFile source, destination, [ overwrite ]
名前 必須/省略可能 説明
object 必須 objectは、常にFileSystemObjectの名前です。
source 必須 コピーする1つ以上のファイルを示す、ファイル指定用文字列。ワイルドカード文字も使用できます。
destination 必須 source から1つ以上のファイルをコピーする先を指定する文字列。ワイルドカード文字は使用できません。
overwrite 省略可能 既存のファイルを上書きできるかどうかを示すブール値です。Trueの場合はファイルが上書きされ、Falseの場合は上書きされません。既定値はTrueです。 destinationに読み取り専用属性が設定されている場合は、overwriteの値にかかわらずCopyFileは失敗します。

参考資料

Docs

関連記事

FileCopyステートメントを使用してファイルコピーする方法は以下の記事で紹介しています。

Excel VBA ファイル(エクセルブック)をコピーする FileCopy
FileCopyステートメントを使用してファイルをコピーする やりたい事 エクセルブックを別のフォルダにFileCopyステートメントでコピーする方法を解説します。 FileCopyステートメントは、コピー先に同名ファイルがある場合は上書き...
Excel VBA FileCopyを使用してファイルコピーの実装 エラー回避
FileCopyを使用した実装 やりたい事 Templateファイルを元に別フォルダにファイルをコピーするプログラムを作成します。 考えられるエラー処理もいれて実装します。 FileCopyは、コピー先に同名ファイルがある場合には上書きして...

コメント

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