Запись VBA в текстовый файл: ошибка времени выполнения 52 «неверное имя или номер файла»

#vba

#vba

Вопрос:

 Public Sub EdgeColor_Click()
    Dim intInFile As Integer
    intInFile = FreeFile

    Open "c:picturename.csv" For Output As #intFileNo
    Print #intFileNo, "test"

    Close #intFileNo
End Sub
  

Это мой код, и я получаю ошибку времени выполнения 52 «неверное имя или номер файла». Я пытался выполнить ввод в качестве и создать файл существующим, но я получаю ту же ошибку.

Это VBA внутри графического интерфейса Proficy iFix, и я ни за что на свете не могу понять, что я делаю неправильно.

Ответ №1:

Вы путаете intInFile и intFileNo .

Возможно, что intFileNo значение просто равно нулю, если вы не используете option explicit команду, что может объяснить недопустимое число.

Эта маленькая команда находится в верхней части каждого из моих файлов VB / VBA, потому что я уже много раз сталкивался с этим раньше.

Комментарии:

1. Вау, я совершенно отсталый, понятия не имею, как я этого не понял. Также я не знал, что вы можете использовать option explicit в VBA, большое вам спасибо. 🙂

2. @rolls, вы также можете перейти на Tools Options... Editor вкладку — затем проверьте Require Variable Declaration , включена ли опция Explicit по умолчанию для всех новых модулей.