Я полагаю, вам понадобится макрос для этого.
Поскольку я никогда не писал макрос VBA, вот несколько цитат от людей, которые имеют:
Как избавиться от затенения поля формы в Word? :
Если вы используете подсветку в полях формы, которую вы должны поместить перед защитой, вам придется снять защиту документа, чтобы удалить подсветку.
Dim oFF As FormField
' remove shading
ActiveDocument.FormFields.Shaded = False
' unprotect
If ActiveDocument.ProtectionType = wdAllowOnlyFormFields Then
ActiveDocument.Unprotect
End If
' remove highlighting
For Each oFF In ActiveDocument.FormFields
oFF.Range.HighlightColorIndex = wdNoHighlight
Next
' re-protect
ActiveDocument.Protect wdAllowOnlyFormFields, NoReset:=True, Password:=""
Еще немного информации из раздела «Изменить цвет», которая обозначает редактируемые разделы :
Нет способа изменить цвет подсветки, используемый Word, чтобы заштриховать редактируемые области. Вы можете программно отключить затенение редактируемых областей с помощью окна.Посмотреть.Свойство ShadeEditableRanges и установка его в False.
Конечно, если вы сделаете это, вы потеряете автоматическое выделение желтым цветом, которое обеспечивает Word. Затем вам нужно было бы написать некоторый код, чтобы самостоятельно выделить диапазоны, которые можно редактировать в документе, например:
Спектр.Заливка.BackgroundPatternColor = Word.WdColor.wdColorGray15
Некоторые проблемы с этим подходом:
1) Если пользователь выбирает весь регион и удаляет его, серый цвет фона будет потерян.
2) Серый фоновые цвета будут печататься при печати документа, поэтому вам придется обработать событие BeforePrint и удалить серые фоновые цвета перед его печатью.