事務職のためのExcelVBA入門講座 > ExcelVBAサンプルマクロ > ファイルをコピーする

ExcelVBAサンプルマクロ

ファイルをコピーする

FileCopyステートメントを使うとファイルをコピーできます。

◆FileCopyステートメント
FileCopy コピー元のファイルパス,コピー先のファイルのパス

ただし、FileCopyステートメントはコピーしようとしているファイルが使用中だと
「実行時エラー70」が発生したり、すでに同じファイルがある場合の上書き設定ができない
(必ず上書きされる)など使い勝手がちょっと悪いです。

そこで、FileSystemObjectのCopyFileメソッドを使うといいでしょう。

◆CopyFileメソッド(FileSystemObject)
FileSystemObject.CopyFile コピー元ファイル,コピー先ファイル,[上書き設定]

省略可能な引数として、第3引数にOverWrite(上書き)の設定があります。
同名のファイルがある場合、Trueにした場合は上書きし、
Falseにした場合は実行時エラー58が発生します。

サンプルコード



Sub FSOでファイルコピー()

Dim FSO As Object
Dim strFilePath As String
Dim strFileName As String

strFilePath = ThisWorkbook.Path & "¥"
strFileName = "Book1.xls"

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile strFilePath & strFileName, strFilePath & "Copy1.xls", True

End Sub



<<拡張子を気にせず印刷する | 事務職のためのExcelVBA入門講座トップへ | 【トラブル】InStr・InStrRev関数で結果が正しく取得されない>>

この記事へのコメント

コメントを書く

お名前
メールアドレス
URL
コメント
[必須入力]
認証コード
[必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック


Powered by Seesaa
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。