Как устранить ошибку экспорта в Excel?

#ms-access #vba

#ms-access #vba

Вопрос:

У меня есть код MS Access VBA, но, используя его в версии 2016, я получаю сообщение об ошибке.

Я попытался удалить необязательную часть acSpreadsheetTypeExcel12XML

 DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, TableName:="Drops_Airports", FileName:=out_file, Hasfieldnames:=True, Range:="Airports"
  

Ошибка в этом коде:

Ошибка времени выполнения 31532 — MS Access не удалось экспортировать данные

.

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

1. А что это out_file такое ?

2. существует ли уже выходной файл?

3. Привет, Патрик, да, выходной файл, в который необходимо экспортировать таблицу из Access, уже существует. Процедура на самом деле заключается в том, что файл Excel уже доступен в том же каталоге, а затем таблицу, созданную в access, необходимо экспортировать в этот файл Excel, который в коде является out_file .

4. Out_file — это переменная для файла Excel, в который будет экспортироваться таблица. Out_file = Pro_Drops.xlsx

Ответ №1:

удалите Range параметр. Как указано в документации:

Строковое выражение, представляющее собой допустимый диапазон ячеек или имя диапазона в электронной таблице. Этот аргумент применяется только к импорту. Оставьте этот аргумент пустым, чтобы импортировать всю электронную таблицу. При экспорте в электронную таблицу необходимо оставить этот аргумент пустым. Если вы введете диапазон, экспорт завершится неудачно.

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

1. Привет, Патрик, большое спасибо за ответ. Я удалю диапазон, а затем проверю и подтвержду обратно. Однако, когда этот код использовался пару дней назад с версией Ms Access 2007, он работал нормально без каких-либо ошибок.

2. На самом деле есть три таблицы, которые необходимо экспортировать в три разных листа одной и той же книги. следовательно, диапазон определяется для трех таблиц в трех разных диапазонах.