194 / 13 / 3
Регистрация: 20.01.2015
Сообщений: 174
|
|
1 | |
Удаление комментариев в коде26.10.2015, 17:16. Показов 4371. Ответов 16
Метки нет (Все метки)
Добрый вечер! Может кто знает как быстро из кода VBA удалить все комментарии, а то у меня комментарии размером почти как сам код, очень утяжеляет рабочий код.
0
|
26.10.2015, 17:16 | |
Ответы с готовыми решениями:
16
Удаление комментариев в коде Удаление комментариев в программном коде Си Поиск комментариев в коде C# Использование русских комментариев в коде |
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|
26.10.2015, 18:18 | 2 |
Сообщение было отмечено Памирыч как решение
Решение
aleks_des, http://www.vbaexpress.com/kb/g... ?kb_id=266
Вообще, много комментариев - это замечательно! А на работу кода наличие комментариев не влияет, только на размер файла.
1
|
194 / 13 / 3
Регистрация: 20.01.2015
Сообщений: 174
|
|
26.10.2015, 18:33 [ТС] | 3 |
Ок спасибо, у меня просто простой вордовский файл почти мегабайт весит, нужно объем уменьшить
0
|
Модератор
|
|
26.10.2015, 19:15 | 4 |
вряд ли это код ---скорей туда супер-рисунок закинули или очень много формул/рисунков
0
|
194 / 13 / 3
Регистрация: 20.01.2015
Сообщений: 174
|
||||||
26.10.2015, 19:27 [ТС] | 5 | |||||
Он действительно не работает,
Во-первых написан для Excel, мне нужно для Word (моя вина, не уточнил) попытался переписать для word, не нашел фразу аналог в word
0
|
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|
26.10.2015, 20:44 | 6 |
VBA Code Cleaner
P.S. Обратите внимание на то, что здесь также не удаляются комментарии, созданные с помощью инструкции REM
0
|
194 / 13 / 3
Регистрация: 20.01.2015
Сообщений: 174
|
|
26.10.2015, 20:48 [ТС] | 7 |
это вы про что?
0
|
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|
26.10.2015, 21:10 | 8 |
Пардон, полное название утилиты Excel VBA Code Cleaner, так что можете не обращать внимание на мой пост
0
|
6081 / 1325 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
||||||
26.10.2015, 23:25 | 9 | |||||
Сообщение было отмечено Памирыч как решение
РешениеЗдравствуйте, aleks_des,Весьма любопытная задача. Набросал свой дилетантский (наверное), зато кроссплатформенный (в том смысле, что он работает в любых приложениях, использующих VBA) вариант макроса удаления комментариев... Может быть, он вас заинтересует. Программа удаления комментариев из кода VBA
С уважением, Аксима
1
|
194 / 13 / 3
Регистрация: 20.01.2015
Сообщений: 174
|
|
27.10.2015, 10:23 [ТС] | 10 |
Все четко! Спасибо. На работу дилетанта не похоже, как минимум нужно знание структуры VBA.
А комментариев нет, удалились УдаляторомКомментариев?
0
|
6081 / 1325 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
27.10.2015, 12:19 | 11 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Сообщение было отмечено aleks_des как решение
РешениеЗдравствуйте, aleks_des,Если я правильно понял, что вас интересуют также пояснения к программе, то предлагаю вашему вниманию... Комментарии к коду программы "УдаляторКомментариев". Введение Назначение программы "УдаляторКомментариев" - удаление комментариев из кода VBA. Для ускорения работы и повышения надежности (неизвестно, как поведет себя программа при модификации самой себя) она не содержит комментариев. Этот пробел восполняется далее. Комментарии
Резюме Программа не идеальна, и наверняка можно было бы сделать ее лучше. В частности, вполне вероятно, что при более близком знакомстве с объектной моделью VBIDE окажется, что существует более простой (при сохранении кроссплатфоменности) метод получения имени содержащего проект документа. Также следует признать, что не исчерпаны все возможности по оптимизации быстродействия программы. Но даже в таком виде программа вполне работоспособна и способна более-менее эффективно выполнять свою основную задачу. С уважением, Аксима
4
|
194 / 13 / 3
Регистрация: 20.01.2015
Сообщений: 174
|
|
27.10.2015, 23:24 [ТС] | 13 |
Аксима благодарю за подробнейший комментарий. На этом примере попробую немного изучить структуру VBA
0
|
28.10.2015, 04:15 | 14 |
Припомнив тему dimonser’а Подсветка синтаксиса в word 2007 — попробовал использовать зелёный цвет этих самых комментариев.
Но так глубоко не забурился, однако нашёл шаблон поиска* прямо в коде: _________________ * не считая упомянутых Апострофф’ом многострочных комментов
0
|
6081 / 1325 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
||||||
19.11.2015, 17:33 | 15 | |||||
После многих проб и ошибок сумел реализовать вариант программы, учитывающий ценные замечания от Апостроффа. В этом мне очень помогла теория конечных автоматов.
Программа удаления комментариев из кода VBA (улучшенная версия)
Была также мысль реализовать поиск комментариев через регулярные выражения, но производительность недетерминированных конечных автоматов (на которые отображаются регулярные выражения) ниже, чем производительность детерминированных конечных автоматов, что для больших объемов текста весьма существенно. Текущий вариант сочетает надежность с высокой производительностью. Если будут какие-то замечания или пожелания, буду рад выслушать. С уважением, Аксима
2
|
194 / 13 / 3
Регистрация: 20.01.2015
Сообщений: 174
|
||||||
19.11.2015, 20:24 [ТС] | 16 | |||||
Не корректно работает. Попробуйте на примере:
Кстати, это удаление комментариев можно вернуть кнопкой отмена
0
|
6081 / 1325 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
||||||
19.11.2015, 21:30 | 17 | |||||
aleks_des, действительно, упустил ряд переходов в автомате... С этими автоматами надо быть очень аккуратным и внимательным.
Прилагаю исправленный код, и выражаю вам огромную благодарность за тестирование. Программа удаления комментариев из кода VBA (улучшенная и скорректированная версия)
С уважением, Аксима
2
|
19.11.2015, 21:30 | |
19.11.2015, 21:30 | |
Помогаю со студенческими работами здесь
17
Регулярное выражение: поиск комментариев в коде Сниппет Emmet для комментариев в коде Удаление комментариев Удаление комментариев Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |