Преобразование списков в текст

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

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

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

  1. Выберите список, который вы хотите заморозить.
  2. Нажмите Ctrl + C , чтобы скопировать текст в буфер обмена. Список по-прежнему должен быть выбран.
  3. Выберите «Специальная вставка» в меню «Правка». Word отображает диалоговое окно Специальная вставка. (См. Рис. 1.)
  4. Рис. 1. Диалоговое окно «Специальная вставка».

  5. Выберите «Неформатированный текст» в качестве типа вставки.
  6. Нажмите «ОК».

Эти действия заменяют существующий динамический список собственным текстом, и Word автоматически преобразует автоматическую нумерацию в текст.

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

Более простой подход – использовать макрос для выполнения работа для вас. VBA включает специальный метод, который устраняет уже отмеченные недостатки и делает преобразование намного более чистым. Никакое другое форматирование, кроме номеров автоматических списков, не затрагивается. Ниже приведен макрос ListPlain:

 Sub ListPlain () Dim lp As Paragraph For each lp In ActiveDocument.ListParagraphs lp.Range.ListFormat.ConvertNumbersToText Next lpEnd Sub 

Обратите внимание, насколько короток макрос. Он также выполняется очень быстро и влияет на всю нумерацию всего документа. Любые нумерованные списки, основанные на автоматической нумерации Word, затрагиваются, как и любые поля LISTNUM.

Оцените статью
Frestage.ru
Добавить комментарий