Ошибка времени выполнения ‘50290’: ошибка, определяемая приложением или объектом, при открытии книги Excel

#excel #vba #ms-access

#excel #vba #ms-access

Вопрос:

Существует множество вопросов по этой теме, но эффективного решения не существует.

Это мой код Access VBA.

 Dim fDialog As Object
Set fDialog = Application.FileDialog(3)

Dim excelPath As String
excelPath = ""

With fDialog
    .Title = "Carica da Template"
    .AllowMultiSelect = False
    .Filters.Clear

    If .Show = True Then
        If .SelectedItems.Count > 0 Then
            excelPath = .SelectedItems(1)
        End If
    End If
End With

If Len(excelPath) = 0 Then
    GoTo Cerca_Exit
End If

Set fDialog = Nothing

Dim sql As String
sql = "DELETE FROM [Pianificazione Risorse];"
DoCmd.RunSQL sql

Dim mExcel As Object
Set mExcel = CreateObject("Excel.Application")
Dim mBook As Object
Set mBook = mExcel.Workbooks.Open(excelPath, readonly:=True)
mExcel.Visible = False
Dim mSheet As Object
Set mSheet = mBook.Worksheets(1)
 

Я открываю диалоговое окно для загрузки файла Excel, но на этом этапе я получаю эту ошибку:

Установите mBook = mExcel .Книги.Открыть (excelPath, только для чтения: = True)

Учтите, что:

  • этот файл закрыт
  • файл Excel не открыт
  • в диспетчере задач нет EXCEL.EXE выполнение задачи

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

1. Ваш код работает для меня при открытии файла .xlsx. Поскольку вы запрашиваете шаблон , какой именно тип файла вы открываете?

2. В случае, если это шаблон, на основе которого должна быть создана новая книга, это Workbooks.Add не Open так .