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

问题描述 投票:0回答:3

我在使用

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
    对话框打开文件,而不是双击文件
  • 将文件保存到本地位置,即“C:\Users\paul\Documents\”

这些都没有解决问题。

我找到的一个解决方案如下:

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

其中扩展名是

.xls
,电子表格类型是
acSpreadsheetTypeExcel8
。我现在可以处理这个问题,但我将不胜感激任何其他可能的建议。

excel vba ms-access-2010 export-to-excel
3个回答
2
投票

我最近发现了另一种方法,可以用来导出excel文件

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

这应该按预期工作


0
投票

导出文件名 = " etwork1\share$ 文件名";

这对我来说很有效,无需扩展名,系统将为您确定。


0
投票

你好,

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.

感谢选民助手。

© www.soinside.com 2019 - 2024. All rights reserved.