1

Excelワークブックの処理を自動化するためにVBScriptを大量に作成しています。

これらのワークブックには、ワークブックが開いているときに実行されるVBAコードが含まれています。ユーザーがVBAを開いたときと、スクリプトで開いたときで、VBAが異なる動作を示す必要があります。

誰かが私がこれらの2つのケースをどのように区別できるか考えていますか?(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 に答える