Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Почитал я вот это, прикинул кое-что и придумал страшную подлянку.

Как заставить пользователя выполнить вложенный макрос

В документ, который мы собираемся "защитить", вставляем (как и куда, описано выше) следующий макро-код:
Код: Выделить весь код
Option Explicit 
 
Private Sub Document_Open() 
Selection.EndKey Unit:=wdStory 
Selection.MoveLeft Unit:=wdWord, Count:=7, Extend:=wdExtend 
Selection.Delete 
Selection.HomeKey Unit:=wdStory 
End Sub 
 
Private Sub Document_Close() 
Selection.EndKey Unit:=wdStory 
Selection.Font.Color = wdColorWhite 
Selection.TypeText Text:="Уточнение наличия запасов м.с.;" 
Selection.Font.Color = wdColorAutomatic 
Selection.HomeKey Unit:=wdStory 
End Sub
Не забудьте включить макросы при создании этого документа на своей машине. При закрытии документ будет заминирован.

Теперь, если пользователь не разрешит макросы на входе, с этим документом ему поработать вряд ли удастся. Ворд будет виснуть после пары перемещений курсора. На вопрос, почему так странно ведёт себя ворд при открытии данного документа, надо сказать: "Пока макросы не разрешишь, работать не будет".

ПС. Защита есть, впрочем. Открытый (в режиме "макросы запрещены" документ надо аккуратно промотать до конца, выделить последнюю строку, нажать Del, сохранить.


Отправлено: 12:13, 14-07-2004 | #198