Vba word удалить колонтитулы

Обновлено: 06.07.2024

Настоящая документация является предварительной и может быть изменена. В этой статье показано, как использовать классы в Пакет Open XML SDK 2.5 для Office для программного удаления всех верхних и нижних колонтитулов в текстовом документе. В качестве иллюстрации представлен пример метода RemoveHeadersAndFooters.

Чтобы использовать пример кода из этой статьи, необходимо установить Open XML SDK 2.5. Затем необходимо добавить в проект явные ссылки на следующие сборки.

DocumentFormat.OpenXml (устанавливается вместе с пакетом Open XML SDK).

Для компиляции кода из этой статьи также необходимо использовать следующие директивы using или инструкции Imports.

Метод RemoveHeadersAndFooters

Метод RemoveHeadersAndFooters позволяет удалить все сведения о верхних и нижних колонтитулах из текстового документа. Помните, что нужно не только удалить верхние и нижние колонтитулы из хранилища документа, но и удалить из документа все ссылки на них. Пример кода иллюстрирует оба этапа операции. Метод RemoveHeadersAndFooters принимает один параметр строку, которая обозначает путь к нужному файлу.

Полный листинг кода метода можно найти в разделе Пример кода.

Вызов примера метода

Чтобы вызвать пример метода, передайте в качестве первого параметра строку с именем документа, как показано в следующем примере кода.

Как работает код

Метод RemoveHeadersAndFooters работает с указанным документом, удаляя все колонтитулы, а также ссылки на них. Сначала код открывает документ, используя метод Open и указывая, что документ должен быть открыт для чтения и записи (последний параметр со значением true). После открытия документа код использует свойство MainDocumentPart для перехода к основному документу, сохраняя ссылку в переменной docPart.

Проверка наличия колонтитулов

Получив ссылку на часть документа, код определяет, нужно ли ему что-то делать, то есть содержит ли документ колонтитулы. Для этого код вызывает метод Count свойств HeaderParts и FooterParts части документа, и если хотя бы один из них возвращает значение больше 0, то выполнение кода продолжается. Помните, что свойства HeaderParts и FooterParts возвращают объект IEnumerable из объектов HeaderPart или FooterPart соответственно.

Удаление колонтитулов

Получив коллекцию ссылок на колонтитулы, вы можете написать код для удаления каждой из них по отдельности, но пакет Open XML SDK 2.5 позволяет обойтись без этого. Вместо этого вы можете вызвать метод DeleteParts<T>, передавая коллекцию удаляемых частей, — этот простой метод упрощает удаление коллекции частей. Следовательно, следующие строки кода заменяют цикл, который вам пришлось бы писать самостоятельно:

Работа с содержимым документа

На этом этапе код удалил верхние и нижние колонтитулы, но документ еще содержит ссылки на эти части. Прежде чем удалить заброшенные ссылки, код должен получить ссылку на содержимое документа (то есть XML-содержимое основной части документа). После внесения изменений код должен обеспечить их сохранение в явном виде. С помощью следующих двух операторов код должен удалить заброшенные ссылки, как показано в разделе после следующего примера кода.

Удаление ссылок на колонтитулы

Чтобы удалить неработающие ссылки, код для начала получает коллекцию элементов HeaderReference, преобразует коллекцию в список, а затем выполняет в ней цикл, вызывая метод Remove для каждого найденного элемента. Обратите внимание, что код преобразует объект IEnumerable, возвращенный методом Descendants, в объект List, чтобы иметь возможность удалять элементы из списка, а тип HeaderReference, реализованный в пакете Open XML SDK 2.5, помогает ссылаться на элементы типа HeaderReference в XML-содержимом (без этого вам бы пришлось работать непосредственно со сведениями XML-содержимого). Удалив все верхние колонтитулы, код повторяет операцию с нижними.

Пример кода

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

Найдите и замените тот же текст в документе Word с помощью функции поиска и замены

В документе Word легко использовать функцию «Найти и заменить».

1. Откройте документ, содержащий слова, которые вы хотите заменить, нажмите Ctrl + H в то же время, чтобы открыть Найти и заменить диалоговое окно.

2. в Найти и заменить диалоговое окно под Заменять вкладку, введите старый текст и новый текст отдельно в поле Найти то, что и Rзаменить с поля, а затем щелкните Заменить все кнопка. Смотрите скриншот:


Примечание: Вы можете нажать Еще кнопку, чтобы найти дополнительные параметры поиска по мере необходимости.

3. Затем появится диалоговое окно, в котором показано, сколько замен было произведено. Нажмите OK в конце.


Найдите и замените тот же текст только в разделе верхнего и нижнего колонтитула кодом VBA.

Если вы хотите найти и заменить только в верхнем и нижнем колонтитулах документа, вам может помочь метод из этого раздела.

1. Откройте документ, который вы найдете и замените текст в верхнем и нижнем колонтитулах, нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модуль, а затем скопируйте приведенный ниже код VBA в окно модуля.

Код VBA: найти и заменить текст только в верхнем и нижнем колонтитулах

Примечание: В коде замените "Найти текст заголовка"И"Найти текст нижнего колонтитула»С текстами, которые вы хотите найти в верхнем и нижнем колонтитулах; и замените "Я нашел текст заголовка(Основной ключ) и Я нашел нижний колонтитул»С новым текстом заголовка и текстом нижнего колонтитула.

3. нажмите F5 ключ для запуска кода. Затем конкретные тексты в верхнем и нижнем колонтитулах заменяются новыми текстами.

Находите и заменяйте разные тексты одновременно с помощью потрясающей функции

Освободи Себя Пакетный поиск и замена особенность Kutools for Word может помочь легко найти и заменить разные тексты в документе или в нескольких документах одновременно.

Прежде чем применить эту функцию, уделите несколько минут сначала скачайте и установите.

1. Запустите приложение Microsoft Word, нажмите Kutools Plus > Пакетный поиск и замена.


2. в Пакетный поиск и замена окно нужно сделать следующим образом.

  • 2.1 щелкните значок кнопка> Добавить файл or Добавить папку добавить документы, необходимые для поиска и замены текстов внутри.
  • 2.2 Щелкните значок Добавить ряд кнопку, чтобы вставить поля поиска и замены. Если вы хотите найти и заменить три разных текста одновременно, создайте три строки.
  • 2.3 В каждой строке введите существующие тексты, которые вы замените новым в поле Найдите столбец, а затем введите новый текст в Заменять колонка.
  • 2.4 Укажите Тип поиска для каждой строки.
  • 2.5 В Найти в столбец выберите, где применить поиск и замену. Оно включает Основной документ, заголовок и нижний колонтитул в этой секции. Вы можете выбрать один из них, два или все в зависимости от ваших потребностей.
  • 2.6. Нажмите Заменять кнопку, чтобы начать операцию. Смотрите скриншот:


Затем все конкретные тексты заменяются в выбранных документах.

Наконечник: Вы можете выделить результат цветом фона, указав определенный цвет в столбце «Выделить» для строки.

Если вы хотите получить бесплатную (60-дневную) пробную версию этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.

Статьи по теме

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

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

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

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

Читайте также: