1

我正在编写一整套 VBScript 来自动处理 Excel 工作簿。

这些工作簿包含在工作簿打开时运行的 VBA 代码。我需要 VBA 在用户打开它和我的脚本打开它时表现出不同的行为。

有谁知道我如何区分这两种情况?(我不能同时编辑 VBS 和 VBA)

4

1 回答 1

1
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
于 2013-02-26T00:07:10.530 回答