【发布时间】:2016-07-01 16:02:58
【问题描述】:
我一直使用以下方法来处理 Access 中的 Excel 数据。
Set xl = CreateObject("Excel.Object")
但是,此方法会创建一个新的 Excel 实例,并且仅对其应用格式设置。
xl.Range(...).Interior.Color = blah, blah, blah
将仅引用使用第一行代码创建的 Excel 对象的实例。
我遇到的问题是我已经打开了一个 Excel 实例,并且我想使用 Access 中的 VBA 将格式应用于已打开的文件以准备导入。我想我可以创建一个新的 Excel 实例,然后只参考我正在使用 xl.Workbook(blah).Activate 处理的工作簿,但这似乎有点混乱。
是的,我可以将代码移至 Excel,但这违背了从 Access 操作 Excel 并使我的 VBA 位于用户可以访问的中心位置的目的。
【问题讨论】:
-
查看
GetObject()只要只有一个 Excel 实例已经打开,它就应该做你想做的事。 -
Set xlApp = GetObject(, "Excel.Application") 是否符合要求?如果它是开放的,它会变得非常好。
-
如果您知道工作簿的全名,请将其与
GetObject一起使用,然后打开多少个 Excel 实例就无关紧要了。