我刚刚在工作中接管了一些非常可怕的传统vba。当我有空闲时间时,我基本上重组并在新模板中重写它。我偶尔会设法利用各种故障,并立即打开两个不同的VBE实例。我不知道我做了什么让这件事发生了,但它让我的生活变得更加容易,所以我想知道是否有其他人知道。我认为这与将Word作为新实例运行有关,但我无法在工作PC上更改我的文件类型设置。
编辑:我通常会复制并粘贴到Excel中并以这种方式执行,但这并不理想,因为我还在工作的其他部分使用了大量的Excel宏
答案 0 :(得分: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
答案 1 :(得分:0)
尝试通过代码打开Word:
Dim ws As Object
Set ws = CreateObject("word.application")
ws.Visible = True
你应该得到第二个实例。