Создание шаблона, предотвращающего добавление стилей в документ (Microsoft Word)
Дайанн спрашивает, есть ли способ создать шаблон, который исключил бы появление любых новых стилей. Клиенты вставляют в свои документы материалы с форматированием и стилями, и это может вызвать проблемы.
Она хочет создать общий шаблон, который создаст документ, который будет блокировать нешаблонные стили.
Эта проблема мучила пользователей Word годами (если не десятилетиями). Вы можете потратить немало времени на то, чтобы получить свой шаблон и таблицу стилей именно так, как вы хотите, а затем отправить их кому-нибудь еще только для того, чтобы они вернулись со списком стилей (и форматированием документа) в электронном эквиваленте лохмотьев.
Есть несколько подходов, которые вы можете предпринять, чтобы попытаться исправить ситуацию. Во-первых, вы можете попробовать подход «пожалуйста, не делайте этого», когда вы просто просите остальных ничего не вставлять в ваш документ. Или, если им нужно что-то вставить, попросите их использовать один из вариантов «Специальная вставка», который позволяет вставлять без форматирования.
Если вы хотите более решительный подход, выполните следующие действия:
-
Настройте свой шаблон (включая стили) по своему желанию.
-
Загрузив шаблон в Word, откройте вкладку «Главная» на ленте.
-
Щелкните маленький значок в правом нижнем углу группы стилей. Word отображает панель «Стили» в правой части экрана.
-
В нижней части панели «Стили» щелкните значок «Управление стилями». (Если вы не можете понять, какой значок какой, наведите указатель мыши на каждый значок по очереди, пока не увидите всплывающую подсказку «Управление стилями».) Word отобразит диалоговое окно «Управление стилями».
-
Убедитесь, что выбрана вкладка Ограничить. (См. Рис. 1.)
-
Из стилей, перечисленных в диалоговом окне, создайте набор тех стилей, которые вы хотите, чтобы пользователь использовал. (Создайте набор, щелкнув имя стиля, а затем, удерживая нажатой клавишу Ctrl, щелкните другие имена стилей.)
-
7 Установите флажок «Ограничить форматирование разрешенными стилями».
-
Щелкните ОК.
-
Сохраните свой шаблон.
Теоретически любой документ, основанный на шаблоне, будет ограничивать то, какие стили пользователь может использовать при форматировании. Неясно, распространяется ли это также на ограничение того, какие стили можно вставлять в документ. Если вы предпочитаете версию этого подхода с применением макросов, вы можете использовать макросы, подробно описанные в следующем блоге:
http://blogs.msdn.com/b/ericwhite/archive/2010/01/27/programmatically-limiting-styles-in-word.aspx
Конечно, вы можете создать набор макросов, которые не позволят людям вставлять форматированный текст в документ. (Поместите макросы в шаблон, на котором основан документ, и они автоматически передаются в документ. Обычное предостережение: если пользователь не активирует макросы, то этот подход почти не имеет значения.)
Например, один из способов предотвратить добавление новых стилей — это определить количество стилей до и после вставки. Если число увеличилось, ваш макрос может отменить вставку и дать пользователю возможность либо вставить в буфер обмена как обычный текст, либо отменить. Этот метод также предотвратит введение стилей из таблиц и текстовых полей.
Важно понимать, что не существует «общего» события вставки, которое можно перехватить в VBA. Вместо этого необходимо настроить несколько встроенных команд Word. Следующие заменяют четыре из этих команд.
Sub EditPaste() Dim k As Long Options.PasteFormatBetweenDocuments = wdMatchDestinationFormatting Options.PasteFormatBetweenStyledDocuments = wdUseDestinationStyles k = ActiveDocument.Styles.Count Selection.Range.Paste If k <> ActiveDocument.Styles.Count Then ActiveDocument.Undo MsgBox "Paste unsuccessful. You tried to introduce new styles." End If End Sub
Sub EditPasteSpecial() Dim k As Long Dim lk As Boolean Options.PasteFormatBetweenDocuments = wdMatchDestinationFormatting Options.PasteFormatBetweenStyledDocuments = wdUseDestinationStyles k = ActiveDocument.Styles.Count With Dialogs(wdDialogEditPasteSpecial) .Show lk = .link End With If lk Then ActiveDocument.Undo MsgBox "You are not allowed to paste links" Exit Sub End If If k <> ActiveDocument.Styles.Count Then ActiveDocument.Undo If MsgBox("You have tried to introduce new styles." & vbCrLf & _ "Do you want to paste as plain text?", vbYesNo) = vbYes Then _ Selection.Range.PasteSpecial datatype:=wdPasteText End If End Sub
Sub PasteDestinationFormatting() Dim k As Long k = ActiveDocument.Styles.Count Selection.Range.Paste If k <> ActiveDocument.Styles.Count Then ActiveDocument.Undo MsgBox "Paste unsuccessful. You tried to introduce new styles." End If End Sub
Sub PasteSourceFormatting() MsgBox "You are not allowed to paste with source formatting" End Sub
Другой немакросъемочный подход — изменить защиту документа.
Загрузив шаблон в Word, выполните следующие действия:
-
Отобразите ссылку: / wordribbon-Displaying_the_Developer_Tab [вкладка разработчика] на ленте.
-
Щелкните инструмент «Ограничить редактирование» в группе «Защита». Word отображает панель «Ограничить редактирование» в правой части документа.
-
В области «Ограничения форматирования» установите флажок «Ограничить форматирование выбранным стилем».
-
Щелкните ссылку «Настройки» прямо под флажком. Word отображает диалоговое окно «Ограничения форматирования». (См. Рис. 2.)
-
Убедитесь, что список стилей отражает те, которые вы хотите, чтобы пользователь мог использовать.
-
При необходимости установите флажки в нижней части диалогового окна.
-
Щелкните ОК. Word закроет диалоговое окно «Ограничения форматирования».
-
Если введенные вами ограничения вызывают некоторые потенциальные конфликты со стилями, используемыми в документе, Word спросит вас, что вы хотите сделать.
(Ответьте, как хотите.)
-
Щелкните Да, начать усиление защиты. Word отображает диалоговое окно «Начать принудительную защиту».
-
При желании введите пароль для защиты. (Вам нужно будет ввести его дважды.)
-
Щелкните ОК.
-
Закройте панель задач «Ограничить форматирование и редактирование».
-
Сохраните свой шаблон.
_Примечание: _
Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (12698) применим к Microsoft Word 2007, 2010, 2013, 2016, 2019 и Word в Office 365.