Не удается импортировать файл Excel - PullRequest
0 голосов
/ 04 июня 2019

У меня есть код, который поможет мне импортировать таблицы Excel одним нажатием кнопки.Код работает, и я могу импортировать большинство таблиц Excel.Тем не менее, есть некоторые таблицы Excel, которые я не могу импортировать, и я не могу понять, почему.

Option Compare Database

Private Sub btnBrowse_Click()
    Dim diag As Office.FileDialog
    Dim item As Variant

    Set diag = Application.FileDialog(msoFileDialogFilePicker)
    diag.AllowMultiSelect = False
    diag.Title = "Please select an Excel Spreadsheet"
    diag.Filters.Clear
    diag.Filters.Add "Excel Spreadsheet", "*.xls, *.xlsx"

    If diag.Show Then
        For Each item In diag.SelectedItems
            Me.txtFileName = item
        Next
    End If
End Sub

Private Sub btnHome_Click()
    DoCmd.OpenForm ("MainFrm")
End Sub

Private Sub btnImport_Click()
    Dim FSO As New FileSystemObject

    If Nz(Me.txtFileName, "") = "" Then
        MsgBox "Please select a file"
        Exit Sub
    End If

    If FSO.FileExists(Nz(Me.txtFileName, "")) Then
        ImportExcel.ImportExcelSpreadsheet Me.txtFileName, FSO.GetFileName(Me.txtFileName)
    Else
        MsgBox "File not found"

    End If
End Sub

Public Sub ImportExcelSpreadsheet(fileName As String, tableName As String)
On Error GoTo BadFormat
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, tableName, fileName, True
    Exit Sub

BadFormat:
    MsgBox "The file you tried to import was not an Excel Spreadsheet"
End Sub

В некоторых файлах электронных таблиц Excel, которые я не могу импортировать, отобразится сообщение, введенное мной в коде.Тип файла определенно является таблицей Excel, но я почему-то не могу импортировать.Мне интересно, если это из-за моего кода.

1 Ответ

0 голосов
/ 04 июня 2019

SpreadsheetType должен быть acSpreadsheetTypeExcel12Xml, по крайней мере, как первая попытка.

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