Я пытаюсь связать внешнюю таблицу с Access с помощью команды DoCmd.TransferSpreadsheet
.
Мой код:
DoCmd.TransferSpreadsheet acLink, import_type, TableName, internal_filepath, True
Проблема с этим кодом заключается в том, что я получаю противоречивые ошибки относительно типа файла (Ошибка 3274).Я не могу воспроизвести ошибку.
Значение import_type
основано на функции, получающей (из этот поток ) версию файла Excel:
Function excel_type(File As String) As Integer
Dim ext As String
ext = LCase(extension(File))
excel_type = IIf(ext = "xlsx", acSpreadsheetTypeExcel12, _
IIf(ext = "xls", acSpreadsheetTypeExcel9, _
IIf(ext = "xml", acSpreadsheetTypeExcel12Xml, -1)))
End Function
Public Function extension(File As String) As String
extension = Right(File, Len(File) - InStrRev(File, "."))
End Function
Он вернул "9"
для .xlsx
, что правильно, но я все еще время от времени получаю эту ошибку.
Что я могу сделать?