Вот код что только не пробовал, требует доступ к объективной модели VBA иначе не работает.
Тут только действие которые требуют доступ к объективной модели VBA, если ли какие то варианты выполнить то же самое без доступа к объективной модели VBA. Один я знаю воспроизводить код из уже созданного заранее модуля, но он не подходит так как мне надо что бы кодом выполняло. Мне хотя бы способ воспроизводить код из файла .bas без доступа к объективной модели.
Скрытый текст |
---|
' Создать новый модуль с именем "MacrosZapusk" Dim newModule As Object Set newModule = currentWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule) newModule.name = "MacrosZapusk" ' Загрузить содержимое файла макроса в созданный модуль Dim fileContent As String Open filePath For Input As #1 fileContent = Input$(LOF(1), 1) Close #1 ' Добавить содержимое файла в созданный модуль newModule.CodeModule.AddFromString fileContent ' Выполнить макрос из созданного модуля Application.Run "'" & currentWorkbook.name & "'!MacrosZapusk." & macroName ' Удалить созданный модуль currentWorkbook.VBProject.VBComponents.Remove newModule |