Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2011, 18:43   #1
dab00
Пользователь
 
Регистрация: 23.09.2009
Сообщений: 46
По умолчанию Удаление комментариев из кода

Здравствуйте, уважаемые форумчане!
Представляю вашему вниманию скрипт для удаления комментариев - апострофа (символа " ' "), пробелов, табуляций из файлов исходного кода на VB - в вашем случае модулей .bas - нет на форуме темы VB - Excel (VBA) самая подходящая.
Скрипт создает новый файл с префиксом "New-". Работает в графическом и консольном режиме. Использует регулярные выражения, поэтому довольно шустрый.
Скачать можно здесь: http://da440dil.narod.ru/download.html
Вложения
Тип файла: zip vbremcom.zip (930 байт, 14 просмотров)
dab00 вне форума Ответить с цитированием
Старый 10.08.2011, 10:15   #2
dab00
Пользователь
 
Регистрация: 23.09.2009
Сообщений: 46
По умолчанию Удаления комментариев из файлов исходного кода VB

- скрипт для удаления комментариев из файлов исходного кода VB: апострофов, rem, пробелов, табуляций
- работает в графическом и консольном режиме (на случай отсутствия библиотеки, необходимой для вызова диалогового окна)
- в графическом режиме предлагает выбрать файлы в диалоге
- в консольном режиме принимает в качестве аргументов полные, относительные пути или только имена файлов
- создает новые файлы с префиксом "New-"
- в завершение работы отображает сообщение с отчетом об удалении комментариев из каждого файла
- подробно закомментирован, при желании разберутся все
Вложения
Тип файла: zip vbremcom.zip (1.9 Кб, 14 просмотров)
dab00 вне форума Ответить с цитированием
Старый 12.08.2011, 13:36   #3
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Было бы хорошо почитать мнение, комментарии специалистов по этому файлу (типа "хорошо/плохо").
vikttur вне форума Ответить с цитированием
Старый 12.08.2011, 13:55   #4
dab00
Пользователь
 
Регистрация: 23.09.2009
Сообщений: 46
По умолчанию

Цитата:
Сообщение от vikttur Посмотреть сообщение
Было бы хорошо почитать мнение, комментарии специалистов по этому файлу (типа "хорошо/плохо").
Попробуйте и сообщите свое
dab00 вне форума Ответить с цитированием
Старый 12.08.2011, 14:06   #5
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Я не специалист и мнение знающих просил для себя. Мнение не по пользованию, а по сравнению с уже существующими подобными программами.
vikttur вне форума Ответить с цитированием
Старый 12.08.2011, 17:02   #6
dab00
Пользователь
 
Регистрация: 23.09.2009
Сообщений: 46
По умолчанию

Цитата:
Сообщение от vikttur Посмотреть сообщение
мнение знающих просил для себя
Стало быть Вас интересует подобный функционал?
Цитата:
Сообщение от vikttur Посмотреть сообщение
по сравнению с уже существующими подобными программами
Например? Я пробовал один скрипт, который удаляет все после апострофа, но на подобном коде:
Код:
wmiServices.ExecQuery("ASSOCIATORS OF {Win32_DiskDrive.DeviceID='" _
        & DevID & "'} WHERE AssocClass = Win32_DiskDriveToDiskPartition")
он, разумеется, накосячил. Написал свой.
Т.к. пост в форуме Microsoft Office Excel, поясню на примере Excel.
Вы написали приложение Excel - несколько тысяч строчек кода на VBA.
Перед сдачей в эксплуатацию решили удалить все комменты, пробелы, табуляции: уменьшить размер приложения + максимально усложнить анализ кода на случай последующего отказа заказчика от Ваших услуг. С помощью этого скрипта можете реализовать: либо копированием-вставкой кода в файл-обратно в модуль, либо экспортом-импортом модуля.
Такой вот простенький обфускатор для VB.
dab00 вне форума Ответить с цитированием
Старый 13.08.2011, 23:59   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Для VBA есть куда более удобная утилита VBA Code Cleaner, удаляющая комментарии и пустые строки из кода:



Цитата:
Такой вот простенький обфускатор для VB.
Это не обфускатор.
Вот если бы вы сделали обфускатор, встраиваемый в приложения Office (COM add-in), который бы делал код нечитаемым, при этом работал в Excel всех версий (до 2007-2010 включительно) - вот за это мы были вам очень благодарны
(такие обфускаторы есть, но либо они неудобны в использовании, и в них вшиты ключевые слова только из ранних версий Office, либо они предназначаются для VB - соответственно, для VBA не применимы)

Последний раз редактировалось EducatedFool; 14.08.2011 в 00:05.
EducatedFool вне форума Ответить с цитированием
Старый 14.08.2011, 00:05   #8
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Спасибо за ответ.
vikttur вне форума Ответить с цитированием
Старый 14.08.2011, 11:05   #9
dab00
Пользователь
 
Регистрация: 23.09.2009
Сообщений: 46
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Для VBA есть куда более удобная утилита VBA Code Cleaner, удаляющая комментарии и пустые строки из кода:
Действительно более удобная, спасибо.

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Вот если бы вы сделали обфускатор, встраиваемый в приложения Office
Не сделаю. Свою задачу решил (чистил код VBS), возможно в следующей реинкарнации скрипта реализую рандомизирование имен переменных и констант. В VBA Code Cleaner не обнаружил подобного функционала.

Последний раз редактировалось dab00; 14.08.2011 в 11:09.
dab00 вне форума Ответить с цитированием
Старый 17.08.2011, 15:37   #10
dab00
Пользователь
 
Регистрация: 23.09.2009
Сообщений: 46
По умолчанию VBShaker. "Смешать, но не взбалтывать" :)

Представляю очередную реинкарнацию скрипта для преображения кода VB.
Возможности:
- удаление комментариев, пробелов, табуляций, переноса строк
- переименование функций, процедур, классов, свойств, методов, явно объявленных переменных, констант (только VBS)
В графическом режиме позволяет выбрать несколько файлов.
В консольном режиме принимает в качестве аргументов абсолютные, относительные пути или только имена файлов.
В секции объявления переменных можно изменить:
- максимальную длину нового случайного имени в символах (по умолчанию - 10)
- процент символов алфавита в новом случайном имени (по умолчанию - 60)
- необходимость переименования переменных и пр. (по умолчанию - True)
- необходимость создания файла журнала переименования (по умолчанию - False)
- префикс нового имени файла (по умолчанию - New)
- суффикс имени файла лога (по умолчанию - "-log-" & Date() & ".csv")
Скрипт создает в каталоге с файлом исходного кода новый файл с указанным префиксом, а также, в случае необходимости, CSV-файл с отчетом о переименованных переменных и пр., в завершение работы отображает сообщение с отчетом о результате работы с каждым файлом.
Вложения
Тип файла: zip VBShaker.zip (2.3 Кб, 32 просмотров)
dab00 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление HTML кода, определённого формата XerSon Работа с сетью в Delphi 4 23.02.2011 09:26
[C#] Удаление блочных комментариев AquaticSoul C# (си шарп) 7 10.11.2010 21:01
получение исходного кода и удаление строки shanluu Работа с сетью в Delphi 3 17.10.2010 21:18
Работа комментариев в WordPress amdbodia WordPress и другие CMS 3 25.09.2010 15:09
Добавление комментариев Amen PHP 9 20.10.2009 19:34