Запустить внешний макрос/Run Macro Appearance
Группа действий: Excel
Действие запускает в Excel-файле макрос, VBA-код которого указан в отдельном текстовом файле.
Иконка действия
Параметры действия
Входные данные:
Поле “Контекст” - Экземпляр Word-документа, в котором будет запущен внешний макрос.
Поле “Файл” – Путь к текстовому файлу макроса, который содержит VBA-код
Поле “Имя процедуры” - Имя вызываемой функции или подпрограммы, которая указана в VBA-коде макроса.
Поле “Параметры” - Значения входных параметров вызываемой функции или подпрограммы в коде макроса. Значения параметров необходимо указывать в том же порядке, в каком эти параметры указаны в вызываемой функции.
Настройки
Свойство | Англ. наименование | Описание | Тип | Пример заполнения | Обязательность заполнения поля |
---|---|---|---|---|---|
Параметры | |||||
Контекст | Context | Экземпляр Excel-документа, с которым работает действие | Robin.Excel | EXCEL_INSTANCE | Да |
Файл | File | Путь к текстовому файлу макроса, который содержит VBA-код | Robin.FilePath | C:\Users\User\Desktop\111.txt | Да |
Имя процедуры | Procedure name | Имя вызываемой функции или подпрограммы, которая указана в VBA-коде макроса | Robin.String | makros | Да |
Параметры | Parameters | Значения входных параметров вызываемой функции или подпрограммы в коде макроса | Robin.Object | Нет | |
Результаты | |||||
Результат | Result | Значение, возвращаемое запущенным макросом. Если указанный макрос ничего не возвращает, результат работы действия будет пустым | Robin.Object |
Особые условия использования
Если необходимо указать несколько параметров, пользователь должен указать в поле "Параметры" коллекцию, содержащую эти параметры. Значения параметров необходимо указывать в том же порядке, в каком эти параметры указаны в вызываемой функции.
Русский язык не поддерживается в названии макроса (функции).
Пример использования
Задача: Есть 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. Нажмем на кнопку “Старт” и посмотрим результат
Результаты:
Макрос успешно отработал