我的机器上有 Excel 2003 和 Excel 2010。我在 Access 2010 中使用 VBA 在 Excel 中打开 2010 .xlsx 文件,但我注意到它们似乎在 Excell 2003 中“打开”,因为会弹出一小段“转换数据”对话框。
有没有一种简单的方法可以确保 Excel 2010 在文件打开之前“打开”?
谢谢,
埃德
我的机器上有 Excel 2003 和 Excel 2010。我在 Access 2010 中使用 VBA 在 Excel 中打开 2010 .xlsx 文件,但我注意到它们似乎在 Excell 2003 中“打开”,因为会弹出一小段“转换数据”对话框。
有没有一种简单的方法可以确保 Excel 2010 在文件打开之前“打开”?
谢谢,
埃德
我的计算机上没有两个版本的 Excel,因此无法测试,但我认为以下将打开默认的 Excel 版本,我假设您将拥有 2010 版本,然后打开文件。debug.print 将告诉您打开了哪个 Excel 版本。
或者,您需要 2003 年吗?为什么不卸载?
Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")
xlApp.visible = TRUE
xlApp.Workbooks.Open "C:\FolderName\FileName.xlsx", True, False
Debug.Print xlApp.Version
set xlApp = NOTHING
编辑:对不起,我还应该注意,这会在您的机器上打开一个新的 Excel 实例,在您想要执行的操作结束时,您应该使用
xlApp.Quit
关闭实例,这样您的机器上就不会运行多个实例。
此外,如果您出于任何原因需要查看电子表格
xlApp.Visible = True
会为你做的