我刚刚接管了一些相当可怕的遗留vba的维护工作。当我有空闲时间的时候,我基本上是在用新的模板重构和重写它。每隔一段时间,我就会设法利用一些小故障,同时打开两个不同的VBE实例。我不知道我到底做了什么,但它让我的生活变得容易多了,所以我想知道是否有人知道。我认为这与将Word作为新实例运行有关,但我无法更改工作PC上的文件类型设置。
编辑:我通常复制并粘贴到Excel中,然后这样做,但这并不理想,因为我还在工作的其他部分使用了很多Excel宏
发布于 2016-12-23 10:38:40
您可以使用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发布于 2010-06-29 18:01:53
尝试通过代码打开Word:
Dim ws As Object
Set ws = CreateObject("word.application")
ws.Visible = True你应该得到第二个实例。
https://stackoverflow.com/questions/3137191
复制相似问题