構文
Object.MoveFolderSource, Destination
Source・・・・移動するフォルダパスを指定 移動するフォルダ名はワイルドカード指定可能。
Destination・・移動先のパスとフォルダ名を指定
Destination・・移動先のパスとフォルダ名を指定
Sourceで指定したフォルダをDestinationに指定したフォルダに移動します。
フォルダの中にあるファイルも当然移動します。
MoveFolderメソッドのサンプルコード
Public Sub sample() '■FileSystemObjectの宣言 Dim fso As Object: Set fso = CreateObject("Scripting.FileSystemObject") '■"C:\vba"を"C:\sample\vba"に移動※区切り文字でフォルダ名は固定となる fso.MoveFolder "C:\vba", "C:\sample\" '■"C:\vba1"を"C:\vba2"に名前を変更して移動 fso.MoveFolder "C:\vba1", "C:\vba2" '■"C:\vbaを含むフォルダを"C:\sample\"に移動(フォルダ名は移動元同様) fso.MoveFolder "C:\vba*", "C:\sample" End Sub
注意点
- パスが存在しなければエラー発生します。FolderExistsで事前確認必要です。
実行時エラー76「パスが見つかりません。」 - 移動先に同名のフォルダが存在すればエラー発生します。FolderExistsで事前確認必要です。
実行時エラー58「既に同名のファイルが存在しています。」 - C:\vba1→ C:\vba1\subのように子フォルダには移動できません。※パスが存在しない為
- ワイルドカードで指定する場合、フォルダ名は移動元のまま移動します。
コメント