Дайанн спрашивает, есть ли способ создать шаблон, который исключил бы появление любых новых стилей. Клиенты вставляют в свои документы материалы с форматированием и стилями, и это может вызвать проблемы.

Она хочет создать общий шаблон, который создаст документ, который будет блокировать нешаблонные стили.

Эта проблема мучила пользователей Word годами (если не десятилетиями). Вы можете потратить немало времени на то, чтобы получить свой шаблон и таблицу стилей именно так, как вы хотите, а затем отправить их кому-нибудь еще только для того, чтобы они вернулись со списком стилей (и форматированием документа) в электронном эквиваленте лохмотьев.

Есть несколько подходов, которые вы можете предпринять, чтобы попытаться исправить ситуацию. Во-первых, вы можете попробовать подход «пожалуйста, не делайте этого», когда вы просто просите остальных ничего не вставлять в ваш документ. Или, если им нужно что-то вставить, попросите их использовать один из вариантов «Специальная вставка», который позволяет вставлять без форматирования.

Если вы хотите более решительный подход, выполните следующие действия:

  1. Настройте свой шаблон (включая стили) по своему желанию.

  2. Загрузив шаблон в Word, откройте вкладку «Главная» на ленте.

  3. Щелкните маленький значок в правом нижнем углу группы стилей. Word отображает панель «Стили» в правой части экрана.

  4. В нижней части панели «Стили» щелкните значок «Управление стилями». (Если вы не можете понять, какой значок какой, наведите указатель мыши на каждый значок по очереди, пока не увидите всплывающую подсказку «Управление стилями».) Word отобразит диалоговое окно «Управление стилями».

  5. Убедитесь, что выбрана вкладка Ограничить. (См. Рис. 1.)

  6. Из стилей, перечисленных в диалоговом окне, создайте набор тех стилей, которые вы хотите, чтобы пользователь использовал. (Создайте набор, щелкнув имя стиля, а затем, удерживая нажатой клавишу Ctrl, щелкните другие имена стилей.)

  7. 7 Установите флажок «Ограничить форматирование разрешенными стилями».

  8. Щелкните ОК.

  9. Сохраните свой шаблон.

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

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, выполните следующие действия:

  1. Отобразите ссылку: / wordribbon-Displaying_the_Developer_Tab [вкладка разработчика] на ленте.

  2. Щелкните инструмент «Ограничить редактирование» в группе «Защита». Word отображает панель «Ограничить редактирование» в правой части документа.

  3. В области «Ограничения форматирования» установите флажок «Ограничить форматирование выбранным стилем».

  4. Щелкните ссылку «Настройки» прямо под флажком. Word отображает диалоговое окно «Ограничения форматирования». (См. Рис. 2.)

  5. Убедитесь, что список стилей отражает те, которые вы хотите, чтобы пользователь мог использовать.

  6. При необходимости установите флажки в нижней части диалогового окна.

  7. Щелкните ОК. Word закроет диалоговое окно «Ограничения форматирования».

  8. Если введенные вами ограничения вызывают некоторые потенциальные конфликты со стилями, используемыми в документе, Word спросит вас, что вы хотите сделать.

(Ответьте, как хотите.)

  1. Щелкните Да, начать усиление защиты. Word отображает диалоговое окно «Начать принудительную защиту».

  2. При желании введите пароль для защиты. (Вам нужно будет ввести его дважды.)

  3. Щелкните ОК.

  4. Закройте панель задач «Ограничить форматирование и редактирование».

  5. Сохраните свой шаблон.

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (12698) применим к Microsoft Word 2007, 2010, 2013, 2016, 2019 и Word в Office 365.