Страницы: 1
RSS
Удобный Поиск и Замена в редакторе VBA, Easy Find and Replace in VBA Editor
 
Приветствую!

Часто у меня возникают такие проблемы в редакторе:
    • удалить Nую переменную в исходнике и всех вхождениях
    • добавить Nую переменную (обязательную или опциональную) и во всех её прошлых вызовах добавить и установить эту новую переменную с определённым значением
    • поменять местами Nую и Mую переменные

Вопрос: как это сделать?
Встроенный Replacer не может такое, вроде или есть какие-то фокусы?

Пока думаю как-то выгрузить все коды в в текстовый файл или на лист, обработать массив, сплитуя аргументы и меняя местами, как надо, но хотелось бы как-то попроще, конечно…
Код
Ссылки:
Крутой мануал со множеством примеров и подробным разбором
КАК ДОБАВИТЬ КОД ПРОЦЕДУРЫ ПРОГРАММНО, СКОПИРОВАТЬ МОДУЛЬ
Функции для работы с объектами редактора VBA (модулями, формами, и т.п.)
Изменено: Jack Famous - 07.05.2021 14:52:09
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Решил попробовать путь «править на месте» вместо очень длинного и потому потенциально напичканного ошибками: «выгрузить модули в отдельные файлы "*.bas" → открыть их в Excel → забрать данные с листа в массив → обработать массив в памяти, произведя необходимые замены → сохранить файл → удалить старый модуль → добавить новый модуль (файл "*.bas")»
Чтобы реализовать путь "править на месте", надо построчно читать строки во всех модулях и вот тут у меня сходу поползли проблемы:
Не могу получить доступ к проекту VBA активной книги или надстройки (ошибки на 7ой строке)
UPD: копаю настройки доступа к объектной модели
UPD2: Галочка в настройках безопасности "Доверять доступ к объектной модели VBA" решило проблему - работаю дальше  :)
Изменено: Jack Famous - 05.05.2021 18:10:08
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх