История страницы
Запустить внешний
...
макрос Версия 4 (Net)
Группа действий: Excel
...
Описание
Действие запускает в Excel-файле макрос, VBA-код которого указан в отдельном текстовом файле.
Настройки
Параметры и их настройки
Свойство |
---|
Свойство
Описание | Тип | Пример заполнения | Обязательность заполнения поля | |
---|---|---|---|---|
Параметры | ||||
Контекст |
Экземпляр Excel-документа, с которым работает действие | Robin.Excel | EXCEL_INSTANCE | Да | |
Файл |
Путь к текстовому файлу макроса, который содержит VBA-код | Robin.FilePath | C:\Users\User\Desktop\111.txt | Да | |
Имя процедуры |
Имя вызываемой функции или подпрограммы, которая указана в VBA-коде макроса | Robin.String | makros | Да | |
Параметры |
Значения входных параметров вызываемой функции или подпрограммы в коде макроса | Robin.Object | Нет | ||
Результаты | ||||
Результат |
Значение, возвращаемое запущенным макросом. Если указанный макрос ничего не возвращает, результат работы действия будет пустым | Robin.Object |
Особые условия использования
Чтобы запуск внешних макросов был возможен, следует выполнить следующие действия:
- Открыть параметры Excel.
- Выбрать "Центр управления безопасностью".
- Нажать на кнопку "Параметры центра управления безопасностью".
- В открывшемся окне выбрать "Параметры макросов".
- Поставить галочку напротив пункта "Доверять доступ к объектной модели проектов VBA" (если не установлена).
Если необходимо указать несколько параметров, пользователь должен указать в поле "Параметры" коллекцию, содержащую эти параметры. Значения параметров необходимо указывать в том же порядке, в каком эти параметры указаны в вызываемой функции.
Русский язык не поддерживается в названии макроса (функции).
Пример использования
Задача
: Есть Excel - документ . Нужно запустить в этом документе внешний макрос. с данными.
Необходимо проверить актуальность дат в столбце дата по текущему месяцу. В случае если дата не актуально пометить красным цветом. Также необходимо вывести в диалоговое окно количество неактуальных дат.
Решение
Для реализации действия Решение: Для реализации действия нужны следующие действия - "Открыть", "Запустить внешний макрос", “Сообщение”, “Сохранить”, “Закрыть”.
Реализация
...
1) Открыть группу действий "Excel".
2) Открыть подгруппу "Общие".
3) Поместить в рабочее пространство студии действие "Открыть".
Настройка действия "Открыть":
а) Параметр "Контекст". Заполняется автоматически.
b) Параметр "Путь до файла". Указываем путь к файлу, который необходимо открыть. ( Изначально все ячейки окрашены в желтый цвет, заодно можно проверить, измениться ли цвет ячеек в указанном диапазоне)
c) Параметр "Видимый". Устанавливаем признак - true.
4) Открыть подгруппу "Общие".
5) Поместить в рабочее пространство студии действие "Запустить внешний макрос".
Настройка действия:
а) Установить связь параметра "Контекст" с действием "Открыть"
б) Указать путь на файл, в котором хранится макрос
с) Указать имя вызываемой функции или подпрограммы, которая указана в VBA-коде макроса
Результат:
- Собрать схему робота, состоящего из действий.
- Укажем параметры в действии “Открыть 1”.
- Укажем параметры в действии “Запустить внешний макрос”.
Подробнее по созданию макроса можно узнать здесь: Создание макросов.Блок кода language vb title Пример макроса 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
- Настроить параметры действия “Сообщение”.
- Укажем параметры в действии “Сохранить”.
- Укажем параметры в действии “Закрыть”.
- Нажмем на кнопку “Старт” и посмотрим результат.
Результаты
Макрос успешно отработал.
Действие запускает в Excel-файле макрос, VBA-код которого указан в отдельном текстовом файле.