VBA: ошибка выполнения 55 — файл уже открыт (с помощью FileDialog)

В VBA Ms Access я импортирую текстовый файл, анализируя его построчно.

Я использую FileDialog, чтобы пользователь мог выбрать файл для импорта, но когда я открываю файл для его чтения, я получаю ошибку времени выполнения 55 — файл уже открыт.

Причина:

Dim openDialog As FileDialog

Set openDialog = Application.FileDialog(msoFileDialogFilePicker)
On Error GoTo DoNothing
With openDialog
   .title = "Import"
   .AllowMultiSelect = False
   .Show
End With

FName = openDialog.SelectedItems.Item(1)
'Close FName

Open FName For Input Access Read As #1
On Error GoTo DoNothing

Вместо этого, если я использую Close Fname, ошибок времени выполнения нет, но импорт не работает (код для импорта правильный, потому что он работает, когда я жестко кодирую файл имен)


person Sefran2    schedule 27.09.2012    source источник


Ответы (1)


когда у вас есть имя файла, отбросьте обработчик диалогового окна с помощью:

Set openDialog = Nothing
person SeanC    schedule 27.09.2012