vserg4 писал(а):А можно немного по подробнее про эти шаги.
- менять цвет или видимость (скрытый) шрифта при открыти, сохранении так, чтобы если документ открывается без активных макросов шрифт был бы белый (под цвет бумаги) или невидимый, но при активных макросах при открытии эти макросы делали бы шрифт автоматически видимым (или нужного цвета)
Вместо уже указанной выше процедуры:
Код: Выделить всё
Private Sub Document_Open()
Set X.AppWord = Word.Application
End Sub
Можно вставить такую вещь
Код: Выделить всё
Private Sub Document_Open()
Set X.AppWord = Word.Application
ThisDocument.Content.Font.Color = wdColorBlack
ThisDocument.Content.Font.Hidden = False
End Sub
а в модуль класса EventClass два (на всякий случай) таких обработчика событий:
Код: Выделить всё
Private Sub AppWord_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
ThisDocument.Content.Font.Hidden = True
End Sub
Private Sub AppWord_DocumentBeforeClose(ByVal Doc As Document, Cancel As Boolean)
On Error Resume Next
ThisDocument.Undo 9999
ThisDocument.Content.Font.Hidden = True
End Sub
После этого, при закрытии файла с сохранением весь текст становится невидимым и так сохраняется (нужно проделелать это до того, как Вы поставите защиту на сохранение). При следующием открытии, если VBA не включен, текст останется невидимым и недоступным.
- защитить модули VBA от доступа
В редакторе VBA Menu-Tools-Project Properties-Protection-Lock project - да - password - тоже достаточно длинный
- перехватывать события выделения, копирования и изменения подобно тому, что я предложил выше.
в модуль класса EventClass добавить:
Код: Выделить всё
Private Sub AppWord_WindowSelectionChange(ByVal Sel As Selection)
Selection.Collapse
End Sub
Код: Выделить всё
Private Sub AppWord_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
ActiveWindow.View.ShowHiddenText = False
ThisDocument.Content.Font.Hidden = True
ThisDocument.Content.Font.Color = wdColorWhite
End Sub
- защитить книгу от сохранения изменений
Меню - Сервис - Установить защиту - записи исправлений - пароль - выберите пароль максимально длинный (15 символов) - чтобы даже если захотят подобрать, хоть потеряли бы время на это достаточно (только сами его не забудьте!!!)
И посмотреть, что получится... у меня к сожалению нет больше времени, чтобы все протестировать по всем возможным направлениям... но попробуйте сами все и сообщите, как получилось.. самому интересно... во всяком случае захватить текст в буфер у меня не получается и сохранить внесенные изменения тоже.
Но как это не печально... все эти старания все-равно мало чем помогают, т.к. достаточно открыть файл с отключенными макросами, восстановить цвет и видимость шрифта и все будет доступно...
может быть стоит подумать, куда можно было бы спрятать текст "поглубже", где бы он находился в файле, но не отражался, пока не будет включены макросы, которые этот текст возвращали бы в видимое состояние... я пока не придумал.