【发布时间】:2021-09-23 11:41:52
【问题描述】:
有点难以用语言解释,但在这种情况下,代码和屏幕截图应该真的很有帮助。 我创建了这段简单的代码来重现这个问题。此代码是在 Access 2013 的 VBA 模块中创建的。
它用 4 张表格创建两个相等的 excel,一个是 acSpreadsheetTypeExcel9 / xls 格式,另一个是 acSpreadsheetTypeExcel12XML / xlsx。
Function TestExportExcel()
s = "\xxx\Desktop\temp\test.xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "tblPLCselect", s, , "sheet 1"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "tblPLCselect", s, , "sheet 2"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "tblPLCselect", s, , "sheet 3"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "tblPLCselect", s, , "sheet 4"
s = "\xxx\Desktop\temp\test.xlsx"
DoCmd.TransferSpreadsheet acExport, , "tblPLCselect", s, , "sheet 1"
DoCmd.TransferSpreadsheet acExport, , "tblPLCselect", s, , "sheet 2"
DoCmd.TransferSpreadsheet acExport, , "tblPLCselect", s, , "sheet 3"
DoCmd.TransferSpreadsheet acExport, , "tblPLCselect", s, , "sheet 4"
End Function
这里的功能问题是在第二个 (xlsx) 导出中选择了所有工作表,这与 xls 版本相矛盾:
我希望用户打开工作表时只选择第一个工作表,但我也想以 acSpreadsheetTypeExcel12XML / xlsx 格式导出。
有没有一种有效的方式(这个导出必须经常运行)来操纵它?
【问题讨论】: