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

VBA エラー 52 ファイル名または番号が不正です。

はじめに

Excel VBA のエラー 52 「ファイル名または番号が不正です。」の対処法を紹介します。

Open していないファイル番号を使用したときに発生します。

解決する

Open ステートメントで #1 で開いたファイルに #2 を指定すると発生します。

Dim s As String

Open "C:\Tips.txt" For Input As #1
Do While Not EOF(1)
    s = Input(1, #2) ' 番号が違うのでエラーが発生
    Debug.Print(s)
Loop
Close #1

既に Close で閉じられている場合も発生します。

Dim s As String

Open "C:\Tips.txt" For Input As #1
Close #1
Do While Not EOF(1) ' 既に #1 は閉じられているのでエラーが発生
    s = Input(1, #1)
    Debug.Print(s)
Loop

Close にファイル番号を指定しないと全てのファイルを閉じるのでそれが原因のときもあります。

使用したいファイル番号が Open されているかを確認すると原因がわかります。

関連ページ