1
我正在寫一個VBScript的整個負載來自動處理Excel工作簿。什麼打開我的Excel工作簿?
這些工作簿包含在工作簿打開時運行的VBA代碼。當用戶打開它並且當我的腳本打開它時,我需要VBA展示不同的行爲。
有沒有人有任何想法如何區分這兩種情況? (我不能同時編輯VBS和VBA)
我正在寫一個VBScript的整個負載來自動處理Excel工作簿。什麼打開我的Excel工作簿?
這些工作簿包含在工作簿打開時運行的VBA代碼。當用戶打開它並且當我的腳本打開它時,我需要VBA展示不同的行爲。
有沒有人有任何想法如何區分這兩種情況? (我不能同時編輯VBS和VBA)
Sub Test()
'This is VBA but should easily convert to vbscript...
Dim wb As Workbook
Application.EnableEvents = False
Set wb = Workbooks.Open("C:\local files\tester.xlsm")
Application.EnableEvents = True
Application.Run "'" & wb.Name & "'!ThisWorkBook.IsAutomated"
Application.Run "'" & wb.Name & "'!ThisWorkBook.Workbook_Open"
End Sub
在「測試」工作簿(ThisWorkBook
代碼模塊):
Private m_automated As Boolean
Public Sub IsAutomated()
m_automated = True
End Sub
Public Sub Workbook_Open()
If m_automated Then
MsgBox "automated"
Else
MsgBox "not automated"
End If
End Sub
我不敢相信我沒有想到這個......謝謝。 – Griffin 2013-02-27 10:03:44
你能否更具體與您的煩惱嗎?代碼示例將非常有用,特別是打開/運行工作簿代碼的部分。 – 2013-02-25 18:07:17
什麼觸發代碼?是否有可能提供用戶觸發的事件調用的包裝,因此將標誌傳遞給方法? – JustinJDavies 2013-02-25 19:40:20
如何打開Excel文件?用'YourExcelApplicationObject.Open'? – 2013-02-25 20:34:46