我剛剛接管了工作中一些非常可怕的遺留vba的維護。當我有空餘的時間時,我基本上將其重新編寫並改寫爲新的模板。不時地,我設法利用各種各樣的故障,並且同時打開VBE的兩個不同實例。我不知道我做了什麼來做到這一點,但它讓我的生活變得更加輕鬆,所以我想知道是否有其他人知道。我認爲這與將Word作爲新實例運行有關,但我無法在工作PC上更改我的文件類型設置。一次同時使用兩個VBE
編輯:我通常複製並粘貼到Excel和這樣來做,但是這並不理想,因爲我也用了很多Excel宏對我的工作的其他部分
我剛剛接管了工作中一些非常可怕的遺留vba的維護。當我有空餘的時間時,我基本上將其重新編寫並改寫爲新的模板。不時地,我設法利用各種各樣的故障,並且同時打開VBE的兩個不同實例。我不知道我做了什麼來做到這一點,但它讓我的生活變得更加輕鬆,所以我想知道是否有其他人知道。我認爲這與將Word作爲新實例運行有關,但我無法在工作PC上更改我的文件類型設置。一次同時使用兩個VBE
編輯:我通常複製並粘貼到Excel和這樣來做,但是這並不理想,因爲我也用了很多Excel宏對我的工作的其他部分
試圖通過代碼打開Word:
Dim ws As Object
Set ws = CreateObject("word.application")
ws.Visible = True
你應該得到第二個實例。
您可以使用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