サイトについて      連絡先   検索

VBA エラー 58 既に同名のファイルが存在しています。

はじめに

Excel VBA のエラー 58 「既に同名のファイルが存在しています。」の対処法を紹介します。

Name ステートメントで指定したファイル名が、既に存在するときに発生します。

解決する

Name ステートメントでファイル名を変更するとき、既に存在しているファイル名にすると発生します。

Name "C:\Before.txt" As "C:\After.txt" ' 変更後のファイル名が既に存在するとエラーが発生

他の名前にしたり、元々あるファイルを削除するなどしてから名前を変更すると解決します。

Name "C:\Before.txt" As "C:\NewAfter.txt" ' 新しい名前にする
Kill "C:\After.txt"                       ' ファイルを削除する

Dir 関数」でファイルが存在するか確認できます。

If Dir("C:\After.txt") = "" Then
    ' 存在しない
Else
    ' 存在する
End If

関連ページ