関数・メソッド

ファイル名・フォルダ名を変更する【Nameステートメント】【ExcelVBA】

構文

Name OldNameAs NewName

OldName・・・・変更したいファイル、フォルダをフルパスで指定
NewName・・・・変更後のファイル名、フォルダ名をフルパスで指定

FileNameステートメントはファイル名、フォルダ名を変更するステートメントです。
引数NewNameにOldNameとパスが異なれば、ファイルを移動する事も可能です。

Nameステートメントのサンプルコード

    
Public Sub sample()
    
    '■ファイル名を変更する
    Name "C:\sample.txt" As "C:\xxxx.txt"
    
    '■フォルダ名を変更する「新しいフォルダ」→「vba」フォルダ
    Name "C:\新しいフォルダ" As "C:\vba"
      
      
    '■既に同名のファイル・フォルダが存在していたら'実行時エラー '58':既に同名のファイルが存在しています。
    Name "C:\sample.txt" As "C:\xxxx.txt"
    Name "C:\test" As "C:\vba"

    '■変更元のファイル・フォルダが存在しなければ、実行時エラー '53':ファイルが見つかりません。
    Name "C:\sample.txt" As "C:\xxxx.txt"
    Name "C:\test" As "C:\vba"
        
End Sub



注意点

  • フルパスで指定せず、パスを省略するとカレントフォルダが対象になります。
  • ファイル名・フォルダ名変更時に同一名のファイル、フォルダが存在した場合エラーが発生します。
    実行時エラー ’58’:既に同名のファイルが存在しています。
  • 事前にDir関数でファイルが存在するかどうかチェックした方が望ましいです。
  • フォルダ名とファイル名は一度に変更は出来ません。

関連記事

コメント

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