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