MoveFileメソッドは指定されたファイルを別の場所に移動します。ファイルの指定方法によって複数のファイルの移動も可能です。
※ファイルシステムオブジェクト(FileSystemObject)についてはこちら
MoveFileメソッドの構文
構文
ファイルシステムオブジェクト.MoveFile(移動元パス(Source),移動先パス(Destination))
MoveFileメソッドの構成要素と引数
構成要素と引数
要素/引数 | 必須/任意 | 説明 |
---|---|---|
ファイルシステムオブジェクト (FSO) |
必須 | ファイルシステムオブジェクトを指定します。 |
移動元パス (Source) |
必須 | 移動するファイルのパスを指定します。 パスの末尾ではワイルドカード文字の使用ができます。 |
移動先パス (Destination) |
必須 | 移動先のファイルのパスを指定します。 ワイルドカード文字の使用はできません。 |
その他のポイント
移動元パス(Source)のパスの末尾にワイルドカード文字が含まれているとき、または区切り記号である場合は、移動先パス(Destination)は既存のフォルダとしてみなされる。
移動元パス(Source)のパスが1つのファイルを指定している場合で、移動先パス(Destination)に指定したパスと既に同じ名前のファイルが存在していた場合はエラーが発生します。
移動元パス(Source)のパスが1つのファイルを指定している場合で、移動先パス(Destination)に指定したパスがフォルダであった場合はエラーが発生します。
移動元パス(Source)のパスの末尾にワイルドカード文字が含まれているがどのファイルにも一致しなかった場合はエラーが発生します。
MoveFileメソッドは最初にエラーが発生した時点で処理を中止します。それまでに実行された処理の取り消しや、元に戻す処理は実行されません。
移動元パス(Source)が1つのファイルか複数のファイルかの違いで移動先パス(Destination)のあつかいが変わるんだね。
MoveFileメソッドをつかったサンプルマクロ
サンプルコード
①1つのファイルを移動する
Option Explicit
Sub ファイルシステムオブジェクト_MoveFileメソッド()
'ファイルシステムオブジェクトを使うため準備
'①事前バインディングの場合はVBEのツールより参照設定で「Microsoft Scripting Runtime」にチェックをしてください。
Dim FSO As FileSystemObject
Set FSO = New FileSystemObject
'MoveFileメソッドの使用例(1つのファイルを移動)
'FSO.MoveFile "C:\Users\ユーザー名\Desktop\Test\サンプルPDF.pdf", "C:\Users\ユーザー名\Desktop\Test\サンプルフォルダ1\サンプルPDF.pdf"
End Sub
実行結果
①1つのファイルを移動する
C:\Users\ユーザー名\DesktopにあるTestフォルダの中の「サンプルPDF.pdf」ファイルが、Testフォルダのサブフォルダであるサンプルフォルダ1の中に移動する。
サンプルコード
②複数のファイルを移動する
Option Explicit
Sub ファイルシステムオブジェクト_MoveFileメソッド()
'ファイルシステムオブジェクトを使うため準備
'①事前バインディングの場合はVBEのツールより参照設定で「Microsoft Scripting Runtime」にチェックをしてください。
Dim FSO As FileSystemObject
Set FSO = New FileSystemObject
'MoveFileメソッドの使用例(ワイルドカード文字を使って複数ファイルを移動)
FSO.MoveFile "C:\Users\ユーザー名\Desktop\Test\*.xlsx", "C:\Users\ユーザー名\Desktop\Test\サンプルフォルダ1\"
End Sub
実行結果
②複数のファイルを移動する
C:\Users\ユーザー名\DesktopにあるTestフォルダの中のすべてのExcelファイルが、Testフォルダのサブフォルダであるサンプルフォルダ1の中に移動する。
ファイルを移動するときに使えるメソッドだね。
オンラインスクールで現役エンジニアのサポートがあるテックアカデミーがおすすめ。
スキマ時間に学べて仕事も保証。必ず副業、始められます。まずは無料でプログラミング体験
コダマのもりブログはにほんブログ村に登録しています。
ブログの記事が役に立ったと感じて頂けたら、フォローお願いいたします。
コメント