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

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

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

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

MoveFolderメソッドの構文

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

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

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

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

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

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

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

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

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

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

Option Explicit

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

'ファイルシステムオブジェクトを使うため準備

'①事前バインディングの場合はVBEのツールより参照設定で「Microsoft Scripting Runtime」にチェックをしてください。
Dim FSO As FileSystemObject
Set FSO = New FileSystemObject

'MoveFolderメソッドの使用例(1つのファルダを移動)
FSO.MoveFolder "C:\Users\ユーザー名\Desktop\Test\サンプルフォルダ1\サンプルフォルダ1-1", "C:\Users\ユーザー名\Desktop\Test\"

End Sub
Option Explicit

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

'ファイルシステムオブジェクトを使うため準備

'①事前バインディングの場合はVBEのツールより参照設定で「Microsoft Scripting Runtime」にチェックをしてください。
Dim FSO As FileSystemObject
Set FSO = New FileSystemObject

'MoveFolderメソッドの使用例(ワイルドカード文字を使って複数フォルダを移動)
FSO.MoveFolder "C:\Users\ユーザー名\Desktop\Test\サンプルフォルダ1\*", "C:\Users\ユーザー名\Desktop\Test\"

End Sub

対象となるフォルダとその中に入っているものを移動するよ。

PR

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

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

コメント

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