Действие парсера «Добавить макрос VBA в текущий файл»

Параметры действия:

Предназначение действия:

Добавляет модуль с макросами в текущий файл Excel.
Есть возможность запустить макрос сразу после вставки, и удалить модуль VBA после выполнения макроса.

Если в качестве параметра «имя запускаемого макроса» присутствует пробел,
то текст до первого пробела считается названием макроса, а всё что после первого пробела — параметр макроса.
(если задать «имя запускаемого макроса» равным testmacro {ParserName}, то запустится макрос testmacro с передачей в качестве параметра имени парсера)

Код макросов вводится в настройках парсера, на вкладке «Дополнительно» - «Макросы».

ВНИМАНИЕ: эта возможность реализована для разработчика, и не документирована. Рекомендую не пользоваться этим действием!

Возвращаемое значение: отсутствует (текущее значение не изменяется)

 


Параметр «Название набора макросов»

Тип параметра: выбор из списка значений типа Macro

 

Параметр «Запустить макрос с именем»

Тип параметра: произвольное текстовое значение

 

Параметр «Удалить модуль после выполнения макроса»

Тип параметра: выбор из списка предопределенных значений

Допустимые значения параметра: да; нет

Значение по умолчанию: да


Пример использования:

К примеру, у нас есть такой макрос, который нужно запустить, передав ему 3 параметра:

Sub SendEmail(Optional Parameters$)
    On Error Resume Next
    Dim arr, email$, subject$, body$
    ' arr - массив параметров
    arr = Split(Parameters$, "===") ' из одного параметра делаем несколько (разделитель ===)
    
    email$ = arr(0)
    subject$ = arr(1)
    body$ = arr(2)
 
    MsgBox "Будет отправлено письмо для " & email$ & " с темой «" & subject$ & "»" & vbNewLine & _
        "Текст письма: " & body$, vbInformation
End Sub

 

В настройках парсера, на вкладке ДОПОЛНИТЕЛЬНО — подвкладка МАКРОСЫ, добавляем новый макрос (название ему пропишем Mail, например):

Осталось вызвать этот макрос.

Добавляем действие со следующими параметрами:

Действие Параметр Значение
Добавить макрос VBA в текущий файл Название набора макросов Mail
Запустить макрос с именем SendEmail info@excelvba.ru===test email===Макрос запущен из парсера
Удалить модуль после выполнения макроса да

Результат выполнения действия: