マクロ(VBA)
 PR

Excelのマクロ(VBA)でファイルをコピー・切り取りする方法

ねこる
記事内に商品プロモーションを含む場合があります

Excelのマクロ(VBA)でファイルのコピー、切り取りをしたいと思ったことはありませんか?

マクロ(VBA)でもコピー、切り取りは可能です。

難しくないので、やり方を解説していきますね!

Excelのマクロ(VBA):ファイルをコピーする方法

1Sub CopyFile()
2    Dim fso As Object
3    Set fso = CreateObject("Scripting.FileSystemObject")
4    
5    ' コピー元のファイルパスを指定
6    Dim sourceFilePath As String
7    sourceFilePath = "/Users/nekoru/Library/CloudStorage/Dropbox/0 Inbox/Book1.xlsm"
8    
9    ' コピー先のフォルダパスを指定
10    Dim destinationFolderPath As String
11    destinationFolderPath = "/Users/nekoru/Library/CloudStorage/Dropbox/1 files/Book1.xlsm"
12    
13    ' ファイルをコピー
14    fso.CopyFile sourceFilePath, destinationFolderPath
15    
16    ' オブジェクトを解放
17    Set fso = Nothing
18End Sub

マクロ(VBA)では、FileSystemObjectを使ってファイルをコピーします。

  • fso.CopyFile コピー元のパス, コピー先のパス

上記のように指定するとファイルがコピーされます。

Excelのマクロ(VBA):ファイルを切り取りする方法

1Sub CutFile()
2    Dim fso As Object
3    Set fso = CreateObject("Scripting.FileSystemObject")
4    
5    ' 切り取るファイルのパスを指定
6    Dim filePath As String
7    filePath = "/Users/nekoru/Library/CloudStorage/Dropbox/0 Inbox/Book1.xlsm"
8    
9    ' 移動先のフォルダパスを指定
10    Dim destinationFolderPath As String
11    destinationFolderPath = "/Users/nekoru/Library/CloudStorage/Dropbox/1 files/Book1.xlsm"
12    
13    ' ファイルを切り取る
14    fso.MoveFile filePath, destinationFolderPath
15    
16    ' オブジェクトを解放
17    Set fso = Nothing
18End Sub

切り取りもコピーと同じく、FileSystemObjectを使います。

そして、切り取り元、移動先のパスを指定し、fso.MoveFileで確定です。

コマンドが違うだけで、どちらも似たようなものですね。

Excelのマクロ(VBA):注意点

プログラムでファイルコピー、切り取りをするさいの注意点があります。

それは、「プログラムが正しく動かないかも」と考えることです。

プログラムをコピーすれば完璧なんですが、なにか一部間違っていたりしたらファイルが消えてしまいます。

なので、絶対にバックアップを取っておきましょう。

プログラムで関わらないフォルダにファイルをコピーしておけばOKです。

プログラムを実行させてうまくいくまでバックアップファイルは残しておきましょう。

あわせて読みたい
Excelのマクロ(VBA)でワークシートを追加・削除する方法
Excelのマクロ(VBA)でワークシートを追加・削除する方法
Sponsor link

Excel VBAを勉強するなら「できる大辞典」がおすすめです。

辞書なのでピンポイントで学ぶことができます。

大学時代、2016年版を購入して勉強していましたが相当使いました。

ネットだけでも勉強はできますが、本を読みながらVBAを勉強したい方は購入してください。

amazonで見てみる

ABOUT ME
ねこる
ねこる
管理者
Mac / プログラミング / Excel / マクロ(VBA) / カメラ

調べたり、効率的なことが好きです。

記事URLをコピーしました