无法使用DoCmd.TransferSpreadsheet打开从Access 2010导出的.xlsx文件

时间:2016-08-23 21:25:03

标签: excel vba ms-access-2010 export-to-excel

我遇到了使用DoCmd.TransferSpreadsheet命令将表从MS Access 2010导出为Excel 2010格式的VBA代码问题。代码在Access中运行时没有错误,并且创建了文件。但是,当我尝试在Excel 2010中打开该文件时,我收到以下错误消息:     Excel无法打开文件'XXXXX.xlsx',因为文件格式或文件     扩展无效。验证文件是否已损坏     文件扩展名与文件格式匹配。 这是我用来设置然后执行导出的代码:

exportFileName = "\\network1\share$\filename_" & ".xlsx"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "tablename", exportFileName, True

我在发布之前查看了一些可能的解决方案,所以我尝试了

  • acSpreadsheetTypeExcel12替换为acSpreadsheetTypeExcel12Xml
  • acSpreadsheetTypeExcel12替换为整数109
  • 确保我对保存文件的目录具有完全访问权限
  • File -> Open对话框打开文件,而不是双击文件
  • 将文件保存到本地位置,即“C:\ Users \ paul \ Documents \”

这些都没有解决问题。

我发现的一个解决方案如下:

exportFileName = "\\network1\share$\filename_" & ".xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "tablename", exportFileName, True

其中扩展名为.xls,电子表格类型为acSpreadsheetTypeExcel8。我现在可以使用它,但我会感谢任何其他可能的建议。

1 个答案:

答案 0 :(得分:0)

我最近发现了另一种可用于导出excel文件的方法。

DoCmd.OutputTo acOutputQuery, "YourTableName", acFormatXLSX, exportFileName

这应该可以正常工作

相关问题