1

我刚刚在工作中接管了一些非常可怕的遗留 vba 的维护工作。当我有空闲时间时,我基本上会在新模板中重组和重写它。时不时地,我设法利用各种故障并同时打开两个不同的 VBE 实例。我不确切知道我做了什么来实现这一点,但这让我的生活更轻松,所以我想知道是否有其他人知道。我认为这与将 Word 作为新实例运行有关,但我无法更改工作 PC 上的文件类型设置。

编辑:我通常复制并粘贴到 Excel 中并这样做,但这并不理想,因为我在工作的其他部分也使用了很多 Excel 宏

4

2 回答 2

1

您可以使用Application.Run在另一个 VBA 主机中执行代码,并且可以VBE 单步执行代码。

Sub CallExcelUDFFromNonExcelHost()

  'Get an existing instance of Excel
  Dim appXL As Excel.Application
  Set appXL = GetObject(, "Excel.Application")

  'Get the already opened Excel workbook
  Dim wbk As Excel.Workbook
  Set wbk = appXL.Workbooks("MyExcelFunctions.xlsm")

  'Call the function in the Excel workbook
  Dim result
  result = appXL.Run(wbk.VBProject.Name & ".MyFunction", "Some Argument")

End Sub
于 2016-12-23T02:38:39.503 回答
0

尝试通过代码打开 Word:

Dim ws As Object

Set ws = CreateObject("word.application")
ws.Visible = True

你应该得到第二个实例。

于 2010-06-29T10:01:52.677 回答