Если вы использовали функцию нумерованного списка Word, вы, вероятно, заметили, что числа в начале каждого элемента списка не могут быть выбраны. Кроме того, когда вы удаляете или добавляете элементы в свой список, другие элементы в списке перенумеровываются, чтобы компенсировать ваши действия.
В большинстве случаев именно так вы ожидаете и хотите, чтобы ваши нумерованные списки работать. Однако могут быть случаи, когда вы хотите, чтобы списки были «заморожены», что означает, что числа не изменятся. В этих случаях функция автоматической нумерации может показаться скорее разочарованием, чем изысканностью.
Есть два пути решения этой проблемы. Первый, который я называю методом грубой силы, включает в себя небольшую вырезку и вставку. Все, что вам нужно сделать, это выполнить следующие общие шаги:
- Выберите список, который вы хотите заморозить.
- Нажмите Ctrl + C , чтобы скопировать текст в буфер обмена. Список по-прежнему должен быть выбран.
- Выберите «Специальная вставка» в меню «Правка». Word отображает диалоговое окно Специальная вставка. (См. Рис. 1.)
- Выберите «Неформатированный текст» в качестве типа вставки.
- Нажмите «ОК».
Рис. 1. Диалоговое окно «Специальная вставка».
Эти действия заменяют существующий динамический список собственным текстом, и Word автоматически преобразует автоматическую нумерацию в текст.
Конечно, у этого есть несколько различных недостатков. Прежде всего, вы теряете любое другое специальное форматирование, которое может иметься в элементах списка. Если у вас есть некоторые слова, отформатированные иначе, чем значения по умолчанию для абзаца (например, жирные или курсивные слова), они удаляются и должны быть переделаны вручную.
Более простой подход – использовать макрос для выполнения работа для вас. VBA включает специальный метод, который устраняет уже отмеченные недостатки и делает преобразование намного более чистым. Никакое другое форматирование, кроме номеров автоматических списков, не затрагивается. Ниже приведен макрос ListPlain:
Sub ListPlain () Dim lp As Paragraph For each lp In ActiveDocument.ListParagraphs lp.Range.ListFormat.ConvertNumbersToText Next lpEnd Sub
Обратите внимание, насколько короток макрос. Он также выполняется очень быстро и влияет на всю нумерацию всего документа. Любые нумерованные списки, основанные на автоматической нумерации Word, затрагиваются, как и любые поля LISTNUM.