※本ブログのページには広告主との提携による広告や宣伝、プロモーションが含まれます。当ブログを経由しての商品の購入や、サービス申し込みが発生すると、それらの提携企業からの成果報酬を受けとる場合があります。

VBA|MoveFileメソッド(ファイルシステムオブジェクト)

MoveFileメソッドは指定されたファイルを別の場所に移動します。ファイルの指定方法によって複数のファイルの移動も可能です。

※ファイルシステムオブジェクト(FileSystemObject)についてはこちら

MoveFileメソッドの構文

ファイルシステムオブジェクト.MoveFile(移動元パス(Source),移動先パス(Destination))

MoveFileメソッドの構成要素と引数

     
要素/引数 必須/任意 説明
ファイルシステムオブジェクト
(FSO)
必須 ファイルシステムオブジェクトを指定します。
移動元パス
(Source)
必須 移動するファイルのパスを指定します。
パスの末尾ではワイルドカード文字の使用ができます。
移動先パス
(Destination)
必須 移動先のファイルのパスを指定します。
ワイルドカード文字の使用はできません。

移動元パス(Source)のパスの末尾にワイルドカード文字が含まれているとき、または区切り記号である場合は、移動先パス(Destination)は既存のフォルダとしてみなされる。

移動元パス(Source)のパスが1つのファイルを指定している場合で、移動先パス(Destination)に指定したパスと既に同じ名前のファイルが存在していた場合はエラーが発生します。

移動元パス(Source)のパスが1つのファイルを指定している場合で、移動先パス(Destination)に指定したパスがフォルダであった場合はエラーが発生します。

移動元パス(Source)のパスの末尾にワイルドカード文字が含まれているがどのファイルにも一致しなかった場合はエラーが発生します。

MoveFileメソッドは最初にエラーが発生した時点で処理を中止します。それまでに実行された処理の取り消しや、元に戻す処理は実行されません。

移動元パス(Source)が1つのファイルか複数のファイルかの違いで移動先パス(Destination)のあつかいが変わるんだね。

MoveFileメソッドをつかったサンプルマクロ

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
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

ファイルを移動するときに使えるメソッドだね。

PR

独学でプログラミングをはじめてみたけど、このままの学習方法に不安を感じているのなら、
オンラインスクールで現役エンジニアのサポートがあるテックアカデミーがおすすめ。
スキマ時間に学べて仕事も保証。必ず副業、始められます。まずは無料でプログラミング体験

コダマのもりブログはにほんブログ村に登録しています。
ブログの記事が役に立ったと感じて頂けたら、フォローお願いいたします。

コメント

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