Запустить внешний макрос Версия 4 (.Net)
Группа действий: Excel
Действие запускает в Excel-файле макрос, VBA-код которого указан в отдельном текстовом файле.
Иконка действия
Параметры действия
Входные данные
- Поле “Контекст” - Экземпляр Word-документа, в котором будет запущен внешний макрос.
- Поле “Файл” – Путь к текстовому файлу макроса, который содержит VBA-код
- Поле “Имя процедуры” - Имя вызываемой функции или подпрограммы, которая указана в VBA-коде макроса.
- Поле “Параметры” - Значения входных параметров вызываемой функции или подпрограммы в коде макроса. Значения параметров необходимо указывать в том же порядке, в каком эти параметры указаны в вызываемой функции.
Настройки
Property | Description | Type | Filling example | Mandatory field |
---|---|---|---|---|
Parameters | ||||
Context | Action context for working with an Excel document. | Robin.Excel | Excel context | Yes |
PathToFile | Path to the macro text file containing the VBA code. | Robin.FilePath | Yes | |
Procedure name | Name of the called function or subroutine that is specified in the VBA code of the macro. | Robin.String | Yes | |
Parameters | Values of the input parameters of the called function or subroutine in the macro code. If it is necessary to specify several parameters, the user must specify in this field a collection containing these parameters. Parameter values must be specified in the same order in which these parameters are specified in the called function. | Robin.Object | No | |
Results | ||||
Result | Value returned by the running macro. If the specified macro returns nothing, the result of the action will be empty. | Robin.Object |
Особые условия использования
Чтобы запуск внешних макросов был возможен, следует выполнить следующие действия:
- Открыть Excel options.
- Выбрать "Trust Center".
- Нажать на кнопку "Trust Center Settings".
- В открывшемся окне выбрать "Macro Settings".
- Поставить галочку напротив пункта "Trust access to the VBA project object model" (если не установлена).
Если необходимо указать несколько параметров, пользователь должен указать в поле "Параметры" коллекцию, содержащую эти параметры. Значения параметров необходимо указывать в том же порядке, в каком эти параметры указаны в вызываемой функции.
Русский язык не поддерживается в названии макроса (функции).
Пример использования
Задача
Есть Excel - документ.
Необходимо проверить актуальность дат в столбце дата по текущему месяцу. В случае если дата не актуально пометить красным цветом. Также необходимо вывести в диалоговое окно количество неактуальных дат.
Решение
Для реализации действия нужны следующие действия - "Открыть", "Запустить внешний макрос", “Сообщение”, “Сохранить”, “Закрыть”.
Реализация
- Собрать схему робота, состоящего из действий:
2. Укажем параметры в действии “Открыть 1”.
3. Укажем параметры в действии “Запустить внешний макрос”
4. Подробнее по созданию макроса можно узнать здесь: Создание макросов.
Пример макроса
Function TestMonth() As Long Dim ws As Worksheet Dim lastRow As Long Dim currentMonthYear As String Dim cell As Range Dim counter As Long Set ws = ActiveSheet lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row currentMonthYear = Format(Now, "MM.YY") counter = 0 For Each cell In ws.Range("A1:A" & lastRow) Dim cellMonthYear As String cellMonthYear = Format(cell.Value, "MM.YY") If cellMonthYear <> currentMonthYear Then counter = counter + 1 cell.Interior.Color = RGB(255, 0, 0) End If Next cell TestMonth = counter End Function
5. Настроить параметры действия “Сообщение”. Для того чтобы отобразить количество неактуальных дат необходимо передать результат макроса в параметр действия “Сообщение” в поле “Текст сообщения”:
6. Укажем параметры в действии “Сохранить”
7. Укажем параметры в действии “Закрыть”
8. Нажмем на кнопку “Старт” и посмотрим результат
Результаты
Макрос успешно отработал