使用DoCmd.TransferSpreadsheet将查询从MS Access导出到Excel 2007时出错

时间:2011-11-16 01:34:22

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

我正在尝试使用

DoCmd.TransferSpreadsheet acExport,, _
        "QueryName", "Path\FileName.xlsm", True

我也试过

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, _
        "QueryName", "Path\FileName.xlsm", True

将数据从MSAccess数据库导出到Excel文件(.xlsm)。一切正常,但在我打开excel文件导出数据后,我得到以下错误。请给我一些例子。

Excel found unreadable content, do you want to recover the contents of this workbook?

2 个答案:

答案 0 :(得分:1)

“不会自动运行宏”

我知道这可能是一个交易破坏者,但你可能需要用户进入Excel>选项并设置运行宏所需的信任。

“我无法对其进行任何更改”

这可能是因为MS Access仍然锁定了它生成的xls文件,如果你关闭MS Access然后打开导出的电子表格它仍然是只读的(如果是这样,那么右键单击xls>属性并取消选中ReadOnly )。

  

我做了一些研究,并希望分享我的发现。 - 每一个   这些线程确实在故障排除方面取得了成功   讨论。除非你发布accdb和xls,否则很难   我们帮助您找到具体问题,它将成为一个案例   反复试验。

Error message when you try to open a workbook in Excel 2007: Excel found unreadable content in Book_Name

http://social.technet.microsoft.com/Forums/ar/excel/thread/f8abedda-619e-4f9d-97a5-fba2fcacd8c2

http://help.lockergnome.com/office/Excel-found-unreadable-content--ftopict945084.html

http://www.vbforums.com/showthread.php?t=562612

答案 1 :(得分:0)

为什么不在打开导出的工作簿的计算机上将宏放在单独的Personal.xls工作簿或插件中。宏必须在导出的工作簿中吗?

您可以在应用程序范围的事件中检查Workbook Open