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

Ключ

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

...

Run external macro Version 4 (.Net)

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

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

...

The action starts macro in an Excel file that has its VBA-code in a separate text file. 

Action icon

  

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

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

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

...

Action parameters

Input parameters

  1. "Context" field - a type of a Word document where the external macro will run. 
  2. "File" field – path to the macro text file containing the VBA code
  3. "Procedure name" field - name of the called function or subroutine that is specified in the VBA code of the macro.
  4. "Parameters" field - Values 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.

Settings

PropertyDescriptionTypeFilling exampleMandatory field
Parameters
ContextAction context for working with an Excel document.Robin.ExcelExcel contextYes
PathToFilePath to the macro text file containing the VBA code.Robin.FilePath
Yes
Procedure nameName of the called function or subroutine that is specified in the VBA code of the macro.Robin.String
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
ResultValue returned by the running macro. If the specified macro returns nothing, the result of the action will be empty.Robin.Object

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

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



Special conditions of use

To be able to run the external macro, it is important to take the following actions

  1. Open Открыть Excel options.
  2. Выбрать Choose "Trust Center".
  3. Нажать на кнопку Press the "Trust Center Settings" button.
  4. В открывшемся окне выбрать In the new window choose "Macro Settings".
  5. Поставить галочку напротив пункта Check the "Trust access to the VBA project object model" (если не установленаsetting (If it is not checked).

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

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

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

Задача

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

Image Removed

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

Решение

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

Реализация

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

Image Removed

2. Укажем параметры в действии “Открыть 1”.

Image Removed

3. Укажем параметры в действии “Запустить внешний макрос”

Image Removed

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

If it is necessary to specify several parameters, the user must specify in the "Parameters" field the collection containing these parameters. Parameter values must be specified in the same order in which these parameters are specified in the called function.

The Russian language is not supported in the macro name (name of the function). 

Example of use

Task

Given: an Excel document

Image Added

check the relevance of dates in the date column for the current month. In case the date is irrelevant, mark it in red color. Also display the number of irrelevant dates in the dialog box.

Solution

The implementation of the action requires the following actions - "Open", "Run external macro", “Message”, “Save”, “Close”.

Implementation

  1. Assemble a circuit diagram of a robot consisting of actions:

Image Added

2. Specify the parameters in the "Open 1" action.

Image Added

3. Specify the parameters in the "Run external macro" action. 

Image Added

4. Learn more about creating a macro here: Creating and running a macro.

Example of a macro

...

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

5. Настроить параметры действия “Сообщение”. Для того чтобы отобразить количество неактуальных дат необходимо передать результат макроса в параметр действия “Сообщение” в поле “Текст сообщения”Customize the parameters of the "Message" action. In order to display the number of irrelevant dates it is necessary to pass the result of the macro to the "Message" action parameter in the "Message text" field:

6. Укажем параметры в действии “Сохранить”. Specify the parameters in the "Save" action.

7. Укажем параметры в действии “Закрыть”. Specify the parameters in the "Close" action.

8. Нажмем на кнопку “Старт” и посмотрим результат

Результаты

. Press the "Start" button and see the result. 

Results

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