Передача параметров из Outlook в Excel - PullRequest
0 голосов
/ 04 августа 2010

Как передать аргументы в код Excel VBA, вызываемый из Outlook?

Ответы [ 2 ]

3 голосов
/ 04 августа 2010

Вы можете выполнить макрос с помощью метода Application.Run. Этот метод принимает имя макроса в качестве первого аргумента, а затем до 30 параметров, которые передаются в качестве аргументов в макрос.

В Outlook используйте следующий код:

Public Sub RunExcelMacro()

  Dim excelApp As Object

  Set excelApp = CreateObject("Excel.Application")
  excelApp.Visible = True

  ' open the workbook that contains the macro
  ' or place the macro in a workbook in your XLSTARTUP folder
  excelApp.Workbooks.Open "C:\tmp\book.xls"

  ' run the macro
  excelApp.Run "ThisWorkbook.SayHello", "Hello World!"

  excelApp.Quit

  Set excelApp = Nothing      

End Sub

В Excel добавьте следующий метод к элементу ThisWorkbook документа электронной таблицы:

Option Explicit

Public Sub SayHello(message As String)

    MsgBox message

End Sub
3 голосов
/ 04 августа 2010

Используя Application.Run:

objExcel.Run "MacroName", param1, param2
...