Файл Сохранить правильно, но выдает ошибки, которые не дают описания - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь написать программу, которая берет данные из одного файла, анализирует их и печатает во второй файл. Сначала я открываю первый файл с помощью объекта диалогового окна «Файл», но затем при попытке выбрать файл для сохранения, так как моя программа падает.

    Set fd = Application.FileDialog(msoFileDialogFilePicker)
lblContinue:
    With fd
        .AllowMultiSelect = False
        .Title = "Select a file to edit."
        .InitialFileName = "C:\Program Files (x86)\AceCooler32\aceuser\"
    End With

    If fd.Show <> 0 Then
        sFileName = fd.SelectedItems(1)
    End If

    If sFileName = "" Then Exit Sub

    sFileName2 = Application.GetSaveAsFilename(, , , "Save File As: ")

    Open sFileName For Input As #1

    Debug.Print sFileName
    Debug.Print sFileName2

    On Error GoTo lblError:


    Open sFileName2 For Output As #2

Меня поразило то, что Debug.print для sFileName2 показывает правильное имя для выбранного мной файла, но затем выдает ошибку и вылетает из программы. Добавлен оператор on error, поэтому мне не нужно было принудительно уничтожать Excel каждый раз, когда я тестировал код. Текст ошибки или всплывающее окно не отображаются, просто зависает Excel.

Вот мой код ошибки On:


    ' Resume

    On Error GoTo -1

    On Error GoTo lblError2:

    Debug.Print Err.Description
    Debug.Print Err.HelpContext

    MsgBox ("You must save using a different filename." & Err.Description)
    Close #1
    Close #2
    GoTo lblContinue:

Описание, данное в Err.Description, пусто

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...