На VBA редактировать код

Ammanda

Как написать на VBA функцию, которая добавляет в книгу макросы из другой книги, слегка изменяя их?

Trofimovyoa

легко!
1. считать макросы из книги-источника
2. записать измененные макросы в нужную книгу
1 - придется реализовывать чтением из открытого в бинарном виде xls файла
2 - а) с ограничением функционала записать макросы на лист макросов (лист типа xlExcel4IntlMacro)
2 - б) создать процесс Excel и слать туда сообщения, эмулируя юзера, набирающего код макросов
2 - в) вкурить формат хранения макросов в xls (это все равно нужно для реализации пункта 1) и писать макросы прямо в бинарном виде















ну или можно еще проще:
1. обойти циклом

For Each k In SourceWorkbook.VBProject.VBComponents
k.Export (somepath+k.Name)

все компоненты с VBA кодом
2. открыть текстовый результат экспорта, редактировать код
3. произвести импорт нужных файлов в книгу назначения с помощью VBProject.VBComponents.Import(...)

0000

> 1 - придется реализовывать чтением из открытого в бинарном виде xls файла
Ты уверен что нет более простого пути?

Ammanda

Thx. Ну и нехороший же ты человек
Гы-гы. thx
Оставить комментарий
Имя или ник:
Комментарий: