【问题标题】:VBA Set Excel.Application Object to already open workbook instead of creating a new Excel instanceVBA 将 Excel.Application 对象设置为已经打开的工作簿,而不是创建新的 Excel 实例
【发布时间】: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 实例已经打开,它就应该做你想做的事。
  • 也许这会有所帮助:stackoverflow.com/questions/2971473/…
  • Set xlApp = GetObject(, "Excel.Application") 是否符合要求?如果它是开放的,它会变得非常好。
  • 如果您知道工作簿的全名,请将其与 GetObject 一起使用,然后打开多少个 Excel 实例就无关紧要了。

标签: vba excel


【解决方案1】:

尝试使用:

set xl = GetObject(,"Excel.Application")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-17
    • 1970-01-01
    相关资源
    最近更新 更多