Я запускаю макрос Excel из макроса Outlook, и мне нужно получить возврат макроса Excel. КодПолучить возвращаемое значение функции из Run
мой взгляд макроса выглядит следующим образом:
Dim excelApp As Object
Set excelApp = CreateObject("Excel.Application")
excelApp.Workbooks.Open "C:\Users\meej\Documents\Book1.xlsm"
If excelApp.Run("ThisWorkbook.Foo", true) Then
Debug.Print "TRUE"
Else
Debug.Print "FALSE"
End If
excelApp.Quit
Set excelApp = Nothing
My Excel Macro выглядит следующим образом:
Public Function Foo(ByVal result as Boolean) as Boolean
Foo = result
MsgBox Foo
End Function
Мои MsgBox
выскакивает и показывает верно, но в Outlook, я всегда печатать "FALSE". Я злоупотребляю Run
?
Из того, что я собираюсь, вы используете Run правильно, так как он вернет логическое значение, которое хочет выполнить оператор if. Проблема может заключаться в том, что «результат» неверен. – Matt
@Matt Хммм ... но я вижу, что он печатает из 'MsgBox' правильно? –
Возможно, на неправильном треке, но что является результатом этого 'MsgBox VarType (result)' внутри вашей функции. – Matt