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

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

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

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

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


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

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

  

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

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

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

Настройки

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

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

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

  1. Открыть Excel options.
  2. Выбрать "Trust Center".
  3. Нажать на кнопку "Trust Center Settings".
  4. В открывшемся окне выбрать "Macro Settings".
  5. Поставить галочку напротив пункта "Trust access to the VBA project object model" (если не установлена).

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

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

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

Задача

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

Результаты

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


  • Нет меток