Skip to Content

Запустить VBA

Элемент выполняет скрипт VBA в файле Excel. Работает только с драйвером Interop.

Драйвер и другие базовые настройки указываются в контейнере Приложение Excel. Если в файле Excel требуется сохранить изменения, используйте элемент Сохранить документ.

alt

Свойства

Символ * в названии свойства указывает на обязательность заполнения. Описание общих свойств см. в разделе Свойства элемента.

СвойствоТипОписание
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();