Группа действий: Excel
Действие запускает в Excel-файле макрос, VBA-код которого указан в отдельном текстовом файле
Свойство | Описание | Тип | Пример заполнения | Обязательность заполнения поля |
---|---|---|---|---|
Параметры | ||||
Контекст | Экземпляр Excel-документа, с которым работает действие | Robin.Excel | EXCEL_INSTANCE | Да |
Файл | Путь к текстовому файлу макроса, который содержит VBA-код | Robin.FilePath | C:\Users\User\Desktop\111.txt | Да |
Имя процедуры | Имя вызываемой функции или подпрограммы, которая указана в VBA-коде макроса | Robin.String | makros | Да |
Параметры | Значения входных параметров вызываемой функции или подпрограммы в коде макроса | Robin.Object | Нет | |
Результаты | ||||
Результат | Значение, возвращаемое запущенным макросом. Если указанный макрос ничего не возвращает, результат работы действия будет пустым | Robin.Object |
Чтобы запуск внешних макросов был возможен, следует выполнить следующие действия:
Если необходимо указать несколько параметров, пользователь должен указать в поле "Параметры" коллекцию, содержащую эти параметры. Значения параметров необходимо указывать в том же порядке, в каком эти параметры указаны в вызываемой функции.
Русский язык не поддерживается в названии макроса (функции).
Есть Excel - документ с данными.
Необходимо проверить актуальность дат в столбце дата по текущему месяцу. В случае если дата не актуально пометить красным цветом. Также необходимо вывести в диалоговое окно количество неактуальных дат.
Для реализации действия нужны следующие действия - "Открыть", "Запустить внешний макрос", “Сообщение”, “Сохранить”, “Закрыть”.
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 |
Макрос успешно отработал.