Элемент выполняет скрипт VBA в файле Excel. Работает только с драйвером Interop.
Драйвер и другие базовые настройки указываются в контейнере Приложение Excel. Если в файле Excel требуется сохранить изменения, используйте элемент Сохранить документ.
Свойства
Символ * в названии свойства указывает на обязательность заполнения. Описание общих свойств см. в разделе Свойства элемента.
Свойство
Тип
Описание
Excel:
Файл*
String
Путь к файлу скрипта
Функция*
String
Имя функции VBA
Аргументы*
List<object>
Аргументы скрипта. Максимальное количество - 20 аргументов
Видимость*
Boolean
Видимость Excel
Асинхронный
Boolean
Признак асинхронного выполнения
Тайм-аут
int
Тайм-аут исполнения макроса (мс)
Вывод:
Переменная
Object
Переменная, которая будет хранить результат выполнения скрипта
Только код
Пример использования элемента в процессе с типом Только код (Pure code):
//Свойства элемента:
//app - [LTools.Office.ExcelApp] Приложение Excel
//vbaFile - Файл VBA: [String] Путь к файлу с VBA кодом
//vbaFunction - Функция VBA: [String] Имя вызываемой функции VBA
//vbaArguments - Аргументы VBA: [List<Object>] Список аргументов VBA
//sheet - Страница: [String] Наименование страницы
//sheetIdx - Индекс страницы: [Int32] Индекс страницы
LTools.Office.ExcelApp app = LTools.Office.ExcelApp.Init(wf, System.IO.Path.GetFullPath(".\\TestData.xlsx"), ";", LTools.Office.Model.InteropTypes.Interop);
String vbaFile = System.IO.Path.GetFullPath(".\\vba.bas");
String vbaFunction = "WriteToCell";
List<Object> vbaArguments = new List<Object>(){"A11","Лист1","Text from Primo"};
app.RunVBA(vbaFile,vbaFunction,vbaArguments,true);
app.Save();
app.App.Dispose();