Nameステートメント
Nameステートメントを使うとファイル名やフォルダ名を変更することが出来ます。
パスを含めて変更できるため、その場合はファイルやフォルダを別のディレクトリに移動することが出来ます。
残念ながらワイルドカードの指定は出来ません。
対象のファイルやフォルダが他のアプリケーションによって排他状態で開かれている場合はファイル名の変更や移動は出来ずエラーになります。
構文
Name Oldpathname As Newpathname
Oldpathname | 変更前のファイル名やフォルダ名を指定します。
パス名を含めずファイル名だけを指定した場合はカレントフォルダのファイルまたはフォルダが対象になります。 |
Newpathname | 変更後のファイル名やフォルダ名を指定します。
パス名を含めずファイル名だけを指定した場合はカレントフォルダのファイルまたはフォルダが対象になります。 変更前と異なるパスを指定するとファイルやフォルダが移動します。 |
エラー
存在しない場合のエラー:エラー53
引数のパスに存在しないファイル名やフォルダ名やパスが含まれている場合は「実行時エラー’53’: ファイルが見つかりません。」が発生します。
エラーメッセージは「ファイルが見つかりません。」となっていますが、フォルダのエラーも同じメッセージになります。
開いているファイルの場合のエラー:エラー75
他のアプリケーションで開いているファイルの名称変更や移動を行おうとすると「実行時エラー’75’: パス名が無効です。」が発生します。
サンプルコード
b.txtをaフォルダに移動させてファイル名をc.txtに変更するサンプルです。
1 2 3 4 5 6 7 8 9 |
Sub NameStateTest() Dim sOld Dim sNew sOld = "C:\web\b.txt" sNew = "C:\web\a\c.txt" Name sOld As sNew End Sub |