Итак, если я правильно понял ваш вопрос, в вашем приложении Word есть переменная, «хранящаяся в модуле Word». Допустим, эта переменная будет:
Public boolTest As Boolean
Если у вас будет Sub
в этом модуле c (в 'Normal.dotm' или в docm
документ), скажем:
Sub testBooleanChange(boolT As Boolean)
boolTest = boolT
MsgBox boolTest
End Sub
Если Outlook вызовет вышеуказанный Sub
как:
objWord.Run "testBooleanChange", True
, тогда ваша переменная boolTest
примет отправленное логическое значение
Фактически, реальный код, имеющий дело с приведенным выше предложением, будет выглядеть так:
Sub testCallWordProc()
Dim W As Word.Application
On Error Resume Next
Set W = GetObject(, "Word.Application")
If Err.Number <> 0 Then
Err.Clear: On Error GoTo 0
Set W = CreateObject("Word.Application")
End If
W.Visible = True
'If the Sub in discussion exists in a document, un-comment the next line and use your real document full name:
'W.Documents.Open ("Your doc keeping the sub.docm")
'If the Sub is inside the 'Normal' you can simply use:
W.RUN "testBooleanChange", True
End Sub