エクセルVBAでファイル名を変更する!リネーム

エクセルでファイル名を変更する場合、ファイルを探して変更するのは面倒です。簡単に見つかる場所に保存しているといいのですが、深い場所にあると、探すのにも時間がかかります。しかも、ファイルを手作業で変更する場合、誤ってファイルを削除してしまったことはないでしょうか? エクセルVBAを使うと、簡単にファイル名を変更できます。 ここでは、ファイル名やフォルダ名を変更する時、Name ステートメントを使用しています。ただし、指定したファイルや、フォルダが存在しなかった場合は、エラーになってしまします。エラーになるとエラーメッセージが表示され、処理を中断されます。そこで、エクセルVBAで、ファイル名、フォルダ名の変更する方法だけでなく、このエラーを表示させないで、独自のメッセージを表示させる方法も覚えてみましょう。

 

 

Name ステートメント

Name ステートメントの構文: Name OldPathName As NewPathName

OldPathName:

名前を変更するファイル名を指定します。 フォルダ名、ドライブ名も指定できます。

NewPathName:

新しいファイル名を指定します。 フォルダ名、ドライブ名も指定できます。

 

 

ファイル名の変更

エクセルVBAで、ファイル名を変更するコードです。

「登録一覧.xls」を「登録№.xls」に変更します。

Sub ファイル名変更()
Name “D:\登録者名簿\登録一覧.xls” As “D:\登録者名簿\登録№.xls”
End Sub

指定したファイルがなかった時のエラーを回避

Name ステートメントでファイル名を変更する時、指定したファイルがなかった場合、エラーになります。

ファイルの存在は、Dir 関数でチェックできます。

エラーになった場合、エラーを表示しないで、独自のメッセージを出してみましょう。

ここでは、「フォルダを確認して下さい。」のメッセージを表示させます。

Sub ファイル名変更A()
If Dir(“D:\登録者名簿\登録一覧.xls”) <> “” Then
Name “D:\登録者名簿\登録一覧.xls” As “D:\登録者名簿\登録№.xls”
Else
MsgBox “フォルダを確認して下さい。”, vbInformation
End If
End Sub

 

 

フォルダ名の変更

エクセルVBAで、フォルダ名を変更するコードです。

「登録者名簿」を「2018年度登録」に変更します。

Sub フォルダ名変更()
Name “D:\登録者名簿” As “D:\2018年度登録”
End Sub

指定したフォルダがなかった時のエラーを回避

Name ステートメントでフォルダ名を変更する時、指定したフォルダがなかった場合、エラーになります。

エラーになった時、エラーを非表示にして、独自のメッセージを表示させましょう。

フォルダの存在をチェックするには、Dir 関数の引数 attributes の設定値に vbDirectory を指定します。

Sub フォルダ名変更A()
If Dir(“D:\登録者名簿”, vbDirectory) <> “” Then
Name “D:\登録者名簿” As “D:\2018年度登録”
Else
MsgBox “フォルダを確認して下さい。”, vbInformation
End If
End Sub

ファイル名、フォルダ名変更の時に出るエラーを回避

エクセルVBAで、ファイル名を変更することは簡単にできます。ですが、指定したファイルやフォルダが存在しなかった場合は、エラーになってしまいます。エラーが表示されると、コードが間違っているのかとも思ってしまうので、できるなら表示させたくないものです。このエラーを表示させないで、独自のメッセージを表示させると、何が原因でエラーになったのか分かります。ファイル名、フォルダ名の変更は手作業でも簡単にできますが、ファイルやフォルダが保管されている場所や、変更する名前によってはかなり面倒で、時間がかかかることがあります。定期的にファイル名やフォルダ名を変更する作業がある時は、エクセルVBAで変更した方が簡単にできます。

こちらの記事もご覧ください。⇒エクセルVBAでファイルを移動する