У меня есть код, который поможет мне импортировать таблицы 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, но я почему-то не могу импортировать.Мне интересно, если это из-за моего кода.