我在使用
DoCmd.TransferSpreadsheet
命令将表从 MS Access 2010 导出为 Excel 2010 格式时遇到问题。代码在 Access 中运行没有错误,并且文件已创建。但是,当我尝试在 Excel 2010 中打开该文件时,我收到以下错误消息:
Excel 无法打开文件“XXXXX.xlsx”,因为文件格式或文件不正确
扩展名无效。验证文件没有损坏并且
文件扩展名与文件格式匹配。
这是我用来设置然后执行导出的代码:
exportFileName = "\\network1\share$\filename_" & ".xlsx"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "tablename", exportFileName, True
我在发帖之前查看了一些可能的解决方案,所以我尝试过
acSpreadsheetTypeExcel12
替换为 acSpreadsheetTypeExcel12Xml
acSpreadsheetTypeExcel12
替换为整数 10
或 9
File -> Open
对话框打开文件,而不是双击文件 这些都没有解决问题。
我找到的一个解决方案如下:
exportFileName = "\\network1\share$\filename_" & ".xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "tablename", exportFileName, True
其中扩展名是
.xls
,电子表格类型是 acSpreadsheetTypeExcel8
。我现在可以处理这个问题,但我将不胜感激任何其他可能的建议。
我最近发现了另一种方法,可以用来导出excel文件。
DoCmd.OutputTo acOutputQuery, "YourTableName", acFormatXLSX, exportFileName
这应该按预期工作
导出文件名 = " etwork1\share$ 文件名";
这对我来说很有效,无需扩展名,系统将为您确定。
你好,
J'ai le même souci avec : Private Sub ExporterFDR_Click() DoCmd.OutputTo acOutputQuery,“FDR”,acFormatXLSX,CurrentProject.Path&“”&Me.NOAffaire&“\FDR”,True
结束子
J'ai essayé avec tous les Excels,et il m'enregistre un fichier text au max ou il bloque direct.
感谢选民助手。