Гид по технологиям

Удаление всех гиперссылок в Word через VBA

5 min read Word Обновлено 09 Apr 2026
Удалить гиперссылки в Word через VBA
Удалить гиперссылки в Word через VBA

TL;DR

Если вам нужно быстро убрать все гиперссылки из документа Word, создайте простой макрос VBA с двумя строками кода и назначьте ему сочетание клавиш. Для пакетной обработки документов или удаления ссылок в колонтитулах используйте расширённые макросы, которые я привожу ниже.

Логотип Microsoft Word

Удаление гиперссылок в Word проще, чем их добавление, но повторение одной и той же операции вручную утомительно при большом количестве документов. VBA (Visual Basic for Applications) — встроенный язык макросов в Office — позволяет автоматизировать почти любую задачу, в том числе массовое удаление гиперссылок.

Этот материал показывает: как создать макрос, который снимает все гиперссылки в документе, как назначить ему сочетание клавиш, альтернативные способы и расширения для обработки нескольких файлов или всех областей документа (тело, колонтитулы, сноски).

Зачем использовать макрос

  • Экономит время: одна команда заменяет десятки или сотни ручных действий.
  • Надёжно: удаляются именно поля гиперссылок, а видимый текст остаётся.
  • Гибко: макрос легко дополняется для обработки папок или всех «story ranges» документа.

Важно: макросы изменяют документ — сделайте резервную копию перед массовыми операциями.

Как автоматически удалить все гиперссылки в документе Word с помощью VBA

VBA — это язык, на котором вы пишете макросы. Запуск макроса выполняет написанный код. Для нашей задачи достаточно двух строк кода, которые выбирают весь текст и «отвязывают» поля (fields). Последующие разделы пошагово описывают создание макроса и назначение горячих клавиш.

1. Открыть вкладку Разработчик

По умолчанию вкладка «Разработчик» скрыта в Word по соображениям безопасности. Чтобы включить её:

Окно настройки ленты Word

  1. Откройте меню Файл.
  2. Выберите Параметры.
  3. В меню слева выберите Настройка ленты.
  4. Справа в разделе Основные вкладки поставьте галочку на Разработчик.
  5. Нажмите ОК.

Теперь вкладка «Разработчик» появится между «Вид» и «Справка».

2. Создание макроса

  1. Перейдите на вкладку Разработчик.
  2. В группе Код нажмите Макросы.
  3. Введите имя макроса (например, UnlinkAllHyperlinks) и нажмите Создать.

Создание макроса в Word — окно создания

В редакторе VBA вы увидите шаблон с Sub и End Sub. Скопируйте и вставьте между ними следующий код:

Selection.WholeStory
Selection.Fields.Unlink

Этот код сначала выделяет весь документ (Selection.WholeStory), затем выполняет команду отмены привязки полей (Fields.Unlink). В результате гиперссылки разрываются, но текст или изображения остаются.

Пример кода макроса в редакторе VBA

3. Назначение сочетания клавиш и запуск макроса

  1. В меню Файл выберите Параметры.
  2. В Параметрах Word откройте Настройка ленты.
  3. Нажмите Настройка рядом с подписью Сочетания клавиш.

Меню 'Настроить ленту' в Word

  1. В списке Категории выберите Макросы, справа выберите ваш макрос.
  2. В поле Нажмите новую клавишу введите желаемое сочетание (рекомендуется включать Ctrl+Shift или Alt, чтобы не конфликтовать со стандартными сочетаниями).
  3. Нажмите Назначить, затем Закрыть и ОК.

Назначение сочетания клавиш для макроса в Word

Теперь достаточно открыть документ и нажать назначенную комбинацию — макрос выполнит своё действие.

Быстрые альтернативы без макроса

  • Выделите весь документ (Ctrl+A) и нажмите Ctrl+Shift+F9 — это стандартное сочетание, которое превращает поля в обычный текст (аналог Selection.Fields.Unlink).
  • Для одиночных ссылок: правой кнопкой на ссылке → Убрать гиперссылку.
  • Отключите автоформатирование ссылок: Файл → Параметры → Правописание → Параметры автозамены → Автоформат при вводе → снимите «Интернет-адреса и сети».

Расширенные макросы и сценарии

Ниже — несколько полезных вариантов кода, которые решают типовые ограничения простого макроса.

Удаление гиперссылок во всех областях документа (колонтитулы, заметки, текстовые поля)

Иногда гиперссылки находятся в заголовках, колонтитулах, примечаниях — в Word это разные story ranges. Пример макроса, который проходит по всем story ranges и отвязывает поля:

Sub UnlinkFieldsInAllStories()
    Dim rngStory As Range
    Dim tmpStory As Range

    For Each rngStory In ActiveDocument.StoryRanges
        Set tmpStory = rngStory
        Do
            tmpStory.Fields.Unlink
            If tmpStory.NextStoryRange Is Nothing Then Exit Do
            Set tmpStory = tmpStory.NextStoryRange
        Loop
    Next rngStory
End Sub

Этот макрос безопаснее для документов со сложной структурой: он обработает основной текст, заголовки, колонтитулы, сноски и служебные области.

Пакетная обработка всех файлов в папке

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

Sub UnlinkHyperlinksInFolder()
    Dim fso As Object, folder As Object, file As Object
    Dim doc As Document
    Dim folderPath As String

    folderPath = "C:\Path\To\Folder"  ' Замените на нужный путь
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(folderPath)

    For Each file In folder.Files
        If LCase(Right(file.Name, 5)) = ".docx" Or LCase(Right(file.Name, 4)) = ".doc" Then
            Set doc = Documents.Open(file.Path)
            doc.Content.Fields.Unlink
            doc.Save
            doc.Close
        End If
    Next
End Sub

Важно: замените путь в переменной folderPath на актуальный. Перед запуском сделайте резервную копию папки.

Когда макрос не сработает или будет недостаточно

  • Гиперссылки как «текст», вставленный вручную (не поля) — макрос ничего не сделает, потому что здесь нет полей для отвязки.
  • Ссылки внутри вложенных объектов (OLE-объектов) или в PDF, вставленном как объект — их нужно удалять вручную или обрабатывать отдельно.
  • Если документ защищён или открыт в режиме «только для чтения», макрос не сможет сохранить изменения до снятия защиты.
  • Макросы могут быть заблокированы политиками безопасности в корпоративной среде — обратитесь к администратору.

Практические советы и эвристики

  • Перед массовыми изменениями выполните тест на 1–3 файлах.
  • Для избежания конфликтов сочетаний клавиш используйте комбинации с Ctrl+Shift+Alt.
  • Храните часто используемые макросы в шаблоне Normal.dotm, если хотите, чтобы они были доступны во всех документах.
  • В корпоративной среде согласуйте использование макросов с отделом безопасности и резервируйте документы.

Чек-листы по ролям

Для контент-редактора:

  • Создать резервную копию документа.
  • Запустить макрос в тестовом файле.
  • Проверить, что видимый текст не потерян.
  • Запустить макрос на основном файле.

Для администратора (при пакетной обработке):

  • Проверить политику макросов в Office Group Policy.
  • Развернуть шаблон с макросом (если требуется).
  • Провести тесты на защищённых и незашифрованных файлах.

Для разработчика макросов:

  • Обработать все story ranges для полноты.
  • Добавить логирование успешных/ошибочных файлов.
  • Реализовать безопасное исключение и откат при ошибке.

Критерии приёмки

  • Все гиперссылки разорваны (неактивны) во всех видимых частях документа.
  • Текст или изображение, являющееся якорем, сохранены без изменений.
  • Документ открывается и сохраняется без ошибок.

Краткий словарь

  • Поле (Field): элемент Word, который хранит динамическое содержимое (например, HYPERLINK).
  • Unlink: операция превращения поля в обычный текст.
  • Story range: отдельная область документа (основной текст, колонтитулы, сноски и т. п.).

Безопасность и приватность

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

Краткое резюме

Удаление гиперссылок в Word можно сделать быстро: для одного документа достаточно двух строк кода в макросе или сочетания Ctrl+A → Ctrl+Shift+F9. Для сложных документов и пакетной обработки используйте расширённые макросы, которые обходят все story ranges и папки. Всегда делайте резервные копии и проверяйте политику безопасности при работе в корпоративной среде.

Важно: тестируйте макросы и применяйте их аккуратно при массовой обработке файлов.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Массивы в Bash: синтаксис и примеры
Программирование

Массивы в Bash: синтаксис и примеры

Сбросить страницу «Для вас» в TikTok
Социальные сети

Сбросить страницу «Для вас» в TikTok

Создать GIF из YouTube — GIFs.com
Руководство

Создать GIF из YouTube — GIFs.com

Как сделать карусель Instagram в InDesign
Дизайн

Как сделать карусель Instagram в InDesign

Как объединить PDF на Mac
Mac

Как объединить PDF на Mac

Как примерить тату в Photoshop
Дизайн

Как примерить тату в Photoshop