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

Ключ

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

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

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

...

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

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

Image Modified  

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

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

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

Настройки

Свойство
Property
Англ. наименование
Description
Описание
Type

Тип

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

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

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

Context

Экземпляр Excel-документа, с которым работает действие
Filling exampleMandatory field
Parameters
ContextAction context for working with an Excel document.Robin.Excel
EXCEL_INSTANCEДаФайл
File
Путь к текстовому файлу макроса, который содержит VBA-код
Excel contextYes
PathToFilePath to the macro text file containing the VBA code.Robin.FilePath
C:\Users\User\Desktop\111.txtДаИмя процедуры
Procedure name
Имя вызываемой функции или подпрограммы, которая указана в VBA-коде макроса

Yes
Procedure nameName of the called function or subroutine that is specified in the VBA code of the macro.Robin.String
makrosДаПараметрыParametersЗначения входных параметров вызываемой функции или подпрограммы в коде макроса

Yes
ParametersValues of the input parameters of the called function or subroutine in the macro code. If it is necessary to specify several parameters, the user must specify in this field a collection containing these parameters. Parameter values must be specified in the same order in which these parameters are specified in the called function.Robin.Object
НетРезультат

No
Результаты
Results
Result
Значение, возвращаемое запущенным макросом. Если указанный макрос ничего не возвращает, результат работы действия будет пустым
Value returned by the running macro. If the specified macro returns nothing, the result of the action will be empty.Robin.Object

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

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

...

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

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

Задача

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

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

Решение

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

Реализация

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

...

4. Подробнее по созданию макроса можно узнать здесь: Создание макросов.

Пример макроса

Блок кода
languagevb
linenumberstrue
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

...