Запустить внешний макрос Версия 4 (Net)
Группа действий: 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.
- Выбрать "Центр управления безопасностью".
- Нажать на кнопку "Параметры центра управления безопасностью".
- В открывшемся окне выбрать "Параметры макросов".
- Поставить галочку напротив пункта "Доверять доступ к объектной модели проектов VBA" (если не установлена).
Если необходимо указать несколько параметров, пользователь должен указать в поле "Параметры" коллекцию, содержащую эти параметры. Значения параметров необходимо указывать в том же порядке, в каком эти параметры указаны в вызываемой функции.
Русский язык не поддерживается в названии макроса (функции).
Пример использования
Задача
Есть 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. Нажмем на кнопку “Старт” и посмотрим результат
Результаты
Макрос успешно отработал