【VBA】ファイルをコピー(CopyFile)

投稿者: | 2023年3月17日
excelアイコン

FileSystemObjectのCopyFileメソッドについてです。

CopyFileメソッド

概要

ファイルを指定したフォルダーにコピーします。

構文

FileSystemObject.CopyFile  source , destination [overwrite]

[ ]は省略可という意味

CopyFileの引数

引 数必須 / 省略可詳 細

コピーするファイル
(CopyFile source)

必須

・コピーするファイルパスを指定。
(コピーするファイルがない場合はエラー)
・ワイルドカード(*.txt とか *.csv など)で複数コピーできます。

コピー先フォルダー
(destination)
必須

コピー先のフォルダーパスを指定。
(コピー先フォルダーがない場合はエラー)
・ワイルドカード不可。

上書き
(overwrite)
省略可

・ファイルを上書きするかブール値で指定。
True  :上書き(既定値)
False :上書きしない
(コピー先のフォルダー内に読み取り専用属性が設定されている場合はエラー)

 

VBAサンプル

指定したファイルをコピー

Folder1からFolder2に、test1.txtをコピーします。

 

複数ファイルをワイルドカードでコピー

Folder1からFolder2に、ワイルドカード*.txtを指定で、拡張子が.txtのみの複数ファイルがコピーできます。

例えばワイルドカードでテキストファイルのみ(*.txt)とかcsvファイル(*.csv)のみとかをコピーしたい場合に有効活用できます。

 

上書きしない(False指定)場合

上書きしない指定(False)をして、コピー先フォルダーに、すでに同じ名前のファイルがある場合はエラーになります。

エラーFalse指定1