我有一个Access应用程序,它使用VBA将数据导出到Excel .xlsm文件。
我的代码行是
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "qry_ALL_Issue", fName, False, "IData"
然后我的代码继续打开Excel应用程序并运行宏,这就是为用户生成报告的原因。
我的问题是这可以在我的电脑上运行但不适用于其他人。我的错误陷阱永远不会被触发,所以我没有在Access中收到错误。 Excel中的错误陷阱在无法找到" IData"标签。我没有错误代码可以使用,因此很难弄清楚发生了什么。
我正在使用Office 2010而另一个人正在使用2007.我试图让他们打开Excel文件,修改它并保存它 - 没有任何变化。我让他们创建一个新的空白文件,这个新文件Access确实导出到。这意味着问题显然是Excel文件。所以问题是为什么我可以导出到.xlsm文件而另一个人不能?换句话说,他可以导出的文件可能出错但我可以吗?
答案 0 :(得分:1)
直接从 MSDN 复制有关范围参数
一个字符串表达式,它是有效的单元格范围或电子表格中范围的名称。此参数仅适用于导入。将此参数留空以导入整个电子表格。导出到电子表格时,必须将此参数留空。如果输入范围,导出将失败。
导出时,必须省略Range
参数。也许这与它有关?
http://msdn.microsoft.com/en-us/library/office/ff844793%28v=office.15%29.aspx