更新日:、 作成日:

VBA エラー 53 ファイルが見つかりません。

はじめに

Excel VBA マクロのエラー 53 「ファイルが見つかりません。」の対処法を紹介します。

指定したパスにファイルが存在していないときに発生します。

Declare で参照している DLL が存在しなかったり、レジストリ登録されていないと発生します。

エラーの基本的な対処法は、エラー箇所の特定とその原因となったコードをデバッグします。

デバッグについては「デバッグの仕方」をご覧ください。
エラー処理については「エラー処理をする」をご覧ください。

解決する

パスを指定するときに、存在しないファイル名を指定すると発生します。

Declare を使用して DLL を参照しているときにそのファイルが存在しなかったり、レジストリに登録されていないと発生します。

ファイルが存在するか確認する

Open ステートメントや FileSystemObject などからファイルを指定するとき、そのパスにあるファイルが存在しないと発生します。

Open "D:\Tips.txt" For Input As #1

Set ts = fso.OpenTextFile("D:\Tips.txt", ForReading) ' FileSystemObject

ファイル名が不正なときやパスが存在しないときは「エラー 52 ファイル名または番号が不正です。」や「エラー 76 パスが見つかりません。」が発生することもあります。

エクスプローラーで存在するファイルか確認すると原因がわかります。

DLL をレジストリ登録する

Declare を使用して DLL ライブラリを使用しているとき、その DLL がレジストリ登録されていないと発生します。DLL 自体が存在していないときも発生します。

Declare Function Tips Lib "found" () As Long

確実にレジストリを解除してから再登録すると解決します。

アプリケーションをインストールしたり、他の DLL のレジストリを編集すると、レジストリ登録が解除されることがあります。