2015-07-17 2 views
0

Перед тем, как наш офис перешел с офиса с 2007 по 2013 год, я использовал метод DoCmd.TransferSpreadsheet, который работал отлично. Это был код, который я использовал.Офис с 2007 года обновлен до 2013 года. Команда

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "TableName", strDropFile, -1 

Однако теперь, когда мы перешли, я получаю сообщение об ошибке, что говорит an external table is not in the expected format. я не уверен, если из-за изменения в офис 2013, должен быть другой тип таблиц, используемый в способе.

Кто-нибудь знает, изменилась ли часть acSpreadsheetTypeExcel, когда я пользуюсь Office 2013? Я смущен, потому что расширение файла такое же, и я не совсем уверен, что это проблема.

+0

Не может ли это иметь какое-либо отношение к этому вопросу? http://stackoverflow.com/questions/21385438/importing-xls-to-access-mdb-external-table-is-not-in-the-expected-format – clairestreb

+0

Или, может быть, это? https://support.microsoft.com/en-us/kb/2836058 – clairestreb

+0

Если вы открываете файл excel вручную и сохраняете его, работает ли импорт? Если нет, попробовали ли вы вручную импортировать таблицу через графический интерфейс доступа? – clairestreb

ответ

0

У меня была такая проблема при экспорте в Excel. Попытайтесь оставить шаблон SpreadsheetType.

DoCmd.TransferSpreadsheet acImport, , "TableName", strDropFile, -1 
+0

Итак, я нашел причину проблемы, которая простое незнание с моей стороны не очень много работает с Access и VBA. Я запускал код, в котором он открыл бы созданный мной объект Excel. Благодаря методу открытия книги (Workbooks.Open) она потерпит неудачу. Каждый раз, когда он терпел неудачу, я оставил бы процесс Excel открытым. Мне пришлось зайти в диспетчер задач и завершить все процессы excel, которые были открыты с помощью метода. После того, как я все закрыл, это сработало. Если кто-то знает, почему, они должны позволить всем знать. – Phil

Смежные вопросы