Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Запустить внешний

...

макрос Версия 4 (Net)

Группа действий: Excel 

...

Описание

Действие запускает в Excel-файле макрос, VBA-код которого указан в отдельном текстовом файле

Настройки

Image Added  

Параметры и их настройки

Свойство

Свойство

Англ. наименование

Описание

Тип

Пример заполнения

Обязательность заполнения поля

Параметры
Контекст
Context
Экземпляр Excel-документа, с которым работает действиеRobin.ExcelEXCEL_INSTANCEДа
Файл
File

Путь к текстовому файлу макроса, который содержит VBA-код

Robin.FilePath

C:\Users\User\Desktop\111.txtДа
Имя процедуры
Procedure name
Имя вызываемой функции или подпрограммы, которая указана в VBA-коде макросаRobin.StringmakrosДа

Параметры
Parameters
Значения входных параметров вызываемой функции или подпрограммы в коде макросаRobin.Object
Нет
Результаты
Результат
Result
Значение, возвращаемое запущенным макросом. Если указанный макрос ничего не возвращает, результат работы действия будет пустымRobin.Object

Особые условия использования

Чтобы запуск внешних макросов был возможен, следует выполнить следующие действия:

  1. Открыть параметры Excel.
  2. Выбрать "Центр управления безопасностью".
  3. Нажать на кнопку "Параметры центра управления безопасностью".
  4. В открывшемся окне выбрать "Параметры макросов".
  5. Поставить галочку напротив пункта "Доверять доступ к объектной модели проектов VBA" (если не установлена).

Image Added

Если необходимо указать несколько параметров, пользователь должен указать в  поле "Параметры" коллекцию, содержащую эти параметры. Значения параметров необходимо указывать в том же порядке, в каком эти параметры указаны в вызываемой функции.

Русский язык не поддерживается в названии  макроса (функции).

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

Задача

Есть Excel - документ . Нужно запустить в этом документе внешний макрос. с данными.
Image Added
Необходимо проверить актуальность дат в столбце дата по текущему месяцу. В случае если дата не актуально пометить красным цветом. Также необходимо вывести в диалоговое окно количество неактуальных дат.

Решение

Для реализации действия Решение: Для реализации действия  нужны следующие действия -   "Открыть", "Запустить внешний макрос", “Сообщение”, “Сохранить”, “Закрыть”.

Реализация

...

1) Открыть группу действий "Excel".

2) Открыть подгруппу "Общие".

3) Поместить в рабочее пространство студии действие "Открыть".

    Настройка действия "Открыть":

      а) Параметр "Контекст". Заполняется автоматически.

      b) Параметр "Путь до файла". Указываем путь к файлу, который необходимо открыть. ( Изначально все ячейки окрашены в желтый цвет, заодно можно проверить, измениться ли цвет ячеек в указанном диапазоне) 

      c) Параметр "Видимый". Устанавливаем признак - true. 

Image Removed

4) Открыть подгруппу "Общие".

5) Поместить в рабочее пространство студии действие "Запустить внешний макрос".

    Настройка действия:

    а) Установить связь параметра "Контекст" с действием "Открыть"

    б) Указать путь на файл, в котором хранится макрос

    с) Указать имя вызываемой функции или подпрограммы, которая указана в VBA-коде макроса

Image Removed

Результат: 

  1. Собрать схему робота, состоящего из действий.
    Image Added
  2. Укажем параметры в действии “Открыть 1”.
    Image Added
  3. Укажем параметры в действии “Запустить внешний макрос”.
    Image Added
    Подробнее по созданию макроса можно узнать здесь: Создание макросов.
    Блок кода
    languagevb
    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
  4. Настроить параметры действия “Сообщение”.
    Image Added
  5. Укажем параметры в действии “Сохранить”.
    Image Added
  6. Укажем параметры в действии “Закрыть”.
    Image Added
  7. Нажмем на кнопку “Старт” и посмотрим результат.

Результаты

Макрос успешно отработал.
Image Added
Image AddedДействие запускает в Excel-файле макрос, VBA-код которого указан в отдельном текстовом файле.