Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 2 Следующий »

Запустить внешний макрос Версия 4 (.Net)

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


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

Иконка действия

  

Параметры действия

Входные данные

  1. Поле “Контекст” - Экземпляр Word-документа, в котором будет запущен внешний макрос.
  2. Поле “Файл” – Путь к текстовому файлу макроса, который содержит VBA-код
  3. Поле “Имя процедуры” - Имя вызываемой функции или подпрограммы, которая указана в VBA-коде макроса.
  4. Поле “Параметры” - Значения входных параметров вызываемой функции или подпрограммы в коде макроса. Значения параметров необходимо указывать в том же порядке, в каком эти параметры указаны в вызываемой функции.

Настройки

Свойство

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

Описание

Тип

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

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

Параметры
Контекст

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" (если не установлена)

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

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

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

Задача

Есть Excel - документ.

Необходимо проверить актуальность дат в столбце дата по текущему месяцу. В случае если дата не актуально пометить красным цветом. Также необходимо вывести в диалоговое окно количество неактуальных дат.

Решение

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

Реализация

  1. Собрать схему робота, состоящего из действий:

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. Нажмем на кнопку “Старт” и посмотрим результат

Результаты

Макрос успешно отработал

  • Нет меток