|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.11.2010, 14:23 | #31 | |
Пользователь
Регистрация: 02.11.2010
Сообщений: 55
|
Цитата:
намекните на какие функции внимание обратить... попыжусь, но выложу готовый результат Последний раз редактировалось npocmop; 15.11.2010 в 14:29. |
|
15.11.2010, 14:47 | #32 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
Эхехе. Все сам...
Код:
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
15.11.2010, 21:32 | #33 |
Пользователь
Регистрация: 02.11.2010
Сообщений: 55
|
а Ф и г е m b !
ну ш а м а н и щ е, большой Вам Рахмат!
очень много за ночь перебрал всяких вариантов теперь понял главное - здесь можно всё , кроме опускания рук.. потестил: работает, приложусь хотяб по мелочи и бубен практически в сборе - можно обувь подбирать судя по результату тема скорее называется "отомстить за не $деланные пополнения" |
16.11.2010, 00:45 | #34 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
Все забывал написать насчет хранения даты. В аглицкой Windows формат даты MM.DD.YYYY, а в русской - ДД.MM.ГГГГ. Функция CDate() и др. при преобразовании использует формат Windows, т.е. результат может случится разным.
Дату лучше хранить в виде числа: Const c_Date As Date = 0 ' = CSng(CDate("00/00/0000 00:00:00")) Может кто знает в Word функцию преобразующую строку в дату по формату пользователя?
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
16.11.2010, 04:27 | #35 |
Пользователь
Регистрация: 02.11.2010
Сообщений: 55
|
Покопался.. в основном по делфи информации завались, прямо в примерах по этому вопросу , по питону много .. а по ворду только viter.alex на качелях, но у него вроде тоже такого не описано.
Может кто подскажет ещё, возможно ли сделать в ворде такую каку, чтобы текст был виден только на пол экрана? без применения макросов. если с этого начнется документ - пользователь разрешит макросы (можно надпись ненавязчивую вставить, что без мароса - совсем не то...), макросом всё ставим на место и зрасьте |
16.11.2010, 07:03 | #36 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
Все скрытия обходятся или копированием-вставкой в новый документ, или банальным переключением в режим просмотра "Черновик" или "Обычный". Повторюсь, в данном случае искажение - оптимальный вариант.
Т.е. при открытии без макросов документ должен быть уже искажен (еще на этапе создания), и иметь сообщение о макросах. Просто к искажению надо добавить вставку/удаление сообщения. Например, найти: знак абзаца, заменить: знак абзаца + сообщение + знак абзаца. И наоборот. Также можно использовать эффект неожиданности. Например, по истечении срока искажать ключом, а ключ сразу удалять. Ключом при StrReverce может служить шаблон поиска "[A-Za-zА-ЯЁа-яё0-9 ]{1;}". Если исключить из него отдельные буквы ("А-ДК-На-жм-ф"), или изменить длину ({1;10}), то эффект будет интересный.
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
Последний раз редактировалось Вождь; 16.11.2010 в 09:41. |
16.11.2010, 17:09 | #37 |
Пользователь
Регистрация: 02.11.2010
Сообщений: 55
|
Это да, но Вы правы - основное чтоб открыли макрос, для этого надо сделать документ или нечитабельным совсем, ну или перекошенным настолько чтобы пользователь не знал где в меню word усть такая менюшка чтобы наскор исправить.. Пока ищу.. Самый частый вариант, кот. мне встречался - это съезжание полей , поэтому и спрашивал о возможности вообще половинчатого вида документа
|
22.11.2010, 06:25 | #38 |
Пользователь
Регистрация: 02.11.2010
Сообщений: 55
|
подскажите как реализовать последний штрих в макросе... получается, что у пользователя в меню макросов торчит CyrLarReverce и он в любой момент может обернуть изменения текста. Как грамотно прирастить к установленной c_Date$ , например такую конструкцию:
Dim c As Variant Set c = ThisDocument.VBProject.VBComponents ("Module1") ThisDocument.VBProject.VBComponents .Remove c Set c = Nothing With ThisDocument.VBProject.VBComponents ("ThisDocument").CodeModule .DeleteLines 1, .CountOfLines End With чтобы после исполнения реверса, макрос самоудалялся |
22.11.2010, 08:19 | #39 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
Зачем? Ведь песня была о том, чтобы покупатель имел возможность отката.
Паролем должен быть ключ шифрования (см. выше), временно хранить его в документе можно переменную (Variable). Тогда алгоритм будет такой: - создаем документ, в котором: макросы защиты, переменная ключ-пароль (Variable); - при открытии документа макросы проверяют срок; - по истечении срока документ шифруется, ключ-пароль (Variable) удаляется; - по получении ключа от автора, пользователь дешифрует документ. Программный доступ к VBA-проекту (VBProject ) возможен только с разрешения пользователя (ручками должна быть включена соответствующая опция). Сознанная здесь "защита" и так, в лучшем случае сработает один раз, зачем ее ослаблять еще больше? Чтобы скрыть макрос в списке Alt+F8: Private Sub CyrLarReverce Function CyrLarReverce
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
22.11.2010, 09:03 | #40 | |
Пользователь
Регистрация: 02.11.2010
Сообщений: 55
|
да... возможность отката.
Не могу понять.. Представилась простая последовательность : если файл в архиве (или на почт.сервере), его покупатель копирует, открывает, макрос отрабатывает, удивился - закрывает, удаляет. копирует опять и уже не разрешаешь макросы и защиты как бы нету.. Это из простых среднестатистичеких соображений, без фантазии.. А может его изначально переворачивать, а по паролю восстанавливать? Но параметр даты пусть работает также как и раньше.. Не хватает опыта команд. опять же Цитата:
есть одна мыслишка.. а системное окошко может всплывать без макросов при загрузке документа? Последний раз редактировалось npocmop; 22.11.2010 в 10:19. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Скрыть или запретить для изменения | nicuav | Microsoft Office Excel | 17 | 16.02.2012 02:22 |
Запретить сворачивание формы | voron.kz | Помощь студентам | 3 | 05.11.2010 09:07 |
Запретить редактирование в DBGrid | MixanMM | БД в Delphi | 12 | 10.05.2010 20:28 |
Запретить изменения Книги после истечения месячного срока | komar73 | Microsoft Office Excel | 0 | 31.03.2009 11:01 |