1

Мы запускаем VBA в Access 2007 и пытаемся создать электронную таблицу Excel 2007. Мы используем следующий формат:

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table/Query Name Here", "FileNameHere".

as
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "DimWebSample_Final", gsExportFilePath & gsExportFileNameBody & "_" & Month(gdDate) & Day(gdDate) & Year(gdDate) & "_" & gsDatasetExportFileSuffix(giDatasetID) & ".xls", True

У меня Excel 2007 на моем компьютере, но с помощью acSpreadsheetTypeExcel9 создаются электронные таблицы Excel 87 или 2000 в соответствии со справкой Access 2007. Вот что мы получаем. В справке нет другого константы acSpreadsheetTypeExcelnn для использования в результатах 2007 года.

Как мне получить его для создания электронной таблицы Excel 2007 ?

2 ответа2

1

Excel 2007 представляет два новых формата xlsb и xlsx. Поэтому вам нужно выбрать либо acSpreadsheetTypeExcel12 либо acSpreadsheetTypeExcel12Xml Если расширение вашего файла не соответствует типу, Excel откроет его при открытии, поэтому вам также следует убедиться, что ваше расширение указано правильно.

DoCmd.TransferSpreadsheet acExport,acSpreadsheetTypeExcel12, _
             "Table1", _
              "Table1.xlsb" 

или же

DoCmd.TransferSpreadsheet acExport,acSpreadsheetTypeExcel12Xml, _
     "Table1", _
     "Table1.xlsx"
0

При открытии файла xlsx показывается следующее сообщение
found unreadable content in 'Table1.xlsx'

После нажатия кнопки « Yes для восстановления файла появится следующее сообщение
Repaired Records: Cell information from /xl/worksheets/sheet1.xml part

Что случилось? и как я мог предотвратить это?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .