Начну с того, что я не программер. Просто, уже очень давно увлекаюсь VBA на каком-то своем лошарском уровне ) Небольшая предыстория к этому вопросу: Недавно захотелось сделать для своего 7-летнего сына небольшой словарик английского языка (на макросах MS Excel), чтобы можно было быстро переводить и распечатать слова, которые он знает или не знает… Эта небольшая затея переросла в некий “образовательный проект”, результаты которого я бы хотел красиво оформить и выставить на продажу. На сегодня есть мысли и желание дополнить “файлик” таким функционалом:
1) Словарный перевод слова или наборов слов: слово, перевод, транскрипция, озвучка (парсинг с сайтов Lingvo, Wooordhunt). Перевод с/на 10 языков. Для некоторых языков доступны транскрипция и озвучка. /для английского уже почти сделал, получился прикольный «говорящий эксель» ))/
2) Формирование «электронных» и “бумажных” карточек Домана в различных интерпретациях. Макросы «подтягивают» нужные изображения, используя рамблер-картинки. /это тоже сделал/
*Классические бумажные карточки Домана (изображение + надпись): формирование файла PDF для самостоятельного изготовления карточек разных форматов /это тоже сделал уже/
*Электронные карточки Домана (генерация из экселя “разговаривающих” презентаций PowerPoint): классические карточки (изображения и озвучка на родном языке), карточки с озвучкой на иностранном языке. /тоже частично сделал/
3) Тесты для обучения и проверки знаний по любым дисциплинам (формирование из экселя “разговаривающих” файлов PowerPoint) /есть полное понимание, как сделать/.
4) Тесты для изучения иностранных языков /есть понимание, как сделать/: Прочти и выбери правильное слово/фразу, Прочти и напиши правильное слово/фразу, Послушай и выбери правильное слово/фразу, Послушай и напиши правильное слово/фразу, Тесты на Поиск соответствий слов/фраз, и т.д.
5) Формирование обучающих игр (формирование из MS Excel файла PDF для самостоятельного изготовления игры): Настольная игра «Могу-не-могу. Изучаем глаголы»: /есть понимание, как сделать/
6) Мобильное приложение, которое позволит «считывать» данные, отправленные экселем на сервер и позволит проходить свои обучающие тесты и игры на мобильных устройствах. /нет понимания, как делать, но понимаю, что возможно/
7) Сообщество пользователей программы, которые обмениваются своими PDF и PowerPoint файлами, сформированными экселем (тесты, карточки домана, игры)
Оказывается, очень тяжко идет тема с VBA для PowerPoint ) есть яркие моменты, от которых приходится отказываться, т.к. не совсем понимаю как это сделать в PowerPoint (хотя, в экселе все могу, блин)… Но, пока хотелось бы найти ответы на 4 вопроса, касающихся подготовки файла к продаже:
1) Как защитить VBA-код в модулях файла?
Про «VBA - tools - protection» я знаю. Хотелось бы хоть на 1 ступеньку круче намутить защиту. Хотя бы, чтобы маме-домохозяйке, решившей воспользоваться файлом для обучения ребенка английскому языку, было немного трудозатратно «вскрыть» код... )) Слышал, что возможно сделать VBA код «нечитаемым». Но, если это невозможно или очень трудозатратно или дорого, то и «VBA - tools - protection» сойдет. У меня нет цели защитить файл от мега-хакеров, просто несколько усложнить доступ к коду для стандартной домохозяйки )
2) Как сделать из XLSM-файла ДЕМО-файл (ограничение по времени, одному компьютеру и т.п.)?
По созданию ДЕМКИ интересно было бы послушать мнения профессионалов. Вот, что я могу (или думаю, что могу) сделать на своем лошарском уровне:
2.1. Определить «контейнер» для хранения «параметров демо-файла». Была мысль использовать для этого Системный реестр, но потом подумал, что на некоторых компах будут ограничены права на запись в реестр, злыми админами, к примеру ) Остается сделать «Вэри-Hidden» Лист в самом ДЕМО-файле. По идее, пока домохозяйка не взломает «VBA - tools - protection», этот лист она не увидит... наверное...
2.2. Макрос, при первоначальном открытии (или «установке файла»), записывает в скрытый Лист данные: а) текущая дата, б) серийный номер компьютера (или логин или учетные записи пользователей). Подскажите, что лучше использовать?
2.3. Основные процедуры файла в процессе работы выполняют проверку записанных на скрытый Лист параметров (дата + 15 дней, соответствие учетных записей первоначально записанным и т.п.).
3) Унификация VBA-кода для возможности использования файла в разных версиях MS Excel.
Пока, то, что я знаю, это добавить к своим “Declare PtrSafe Function” еще и “Declare Function”… Еще что-то?...
4) Прочие особенности предпродажной подготовки XLSM-файла.
Может, еще что-то есть, что я по неопытности упустил или не знаю… Если у кого есть готовый шаблон подобного ДЕМО-файла + ценные комментарии, готов рассчитаться за помощь. Называйте свой ценник.
Любые бесплатные советы также ОЧЕНЬ приветствуются! )