Страница 1 из 1

Добавлено: 10 апр 2004, 02:31
Naeel Maqsudov
Запретить печать можно с помощью обработчика события BeforePrint в модуле книги.

Код: Выделить всё

Private Sub Workbook_BeforePrint(Cancel As Boolean)
  Cancel = True
End Sub
Но это естественно не работает, если сакросы выключить.

Чтобы запретить печать конкретного листа, то в этом же обработчике можно пробежаться по коллекции ActiveWindow.SelectedSheets и посмотреть, не входит ли туда защищаемый лист.

Код: Выделить всё

Dim Sh as Sheet
.........

For Sh in ActiveWindow.SelectedSheets
   'Тут определяем, не является ли Sh защищаемым листом.
Next
Но вот вопрос, как оптеределить, что это именно тот самый защищаемый лист? Если по названию, то всегда можно будет переименовать лист и распечатать... Если как-то по-другому, то по-другому это можно будет обойти...

Короче все это от лукавого...