Блог → Программирование

Удаляем ссылки и сноски в MS Word

В редакторе Word нет встроенной возможности удалить ссылки из документа. Вернее, она есть — нажимаем Ctrl + A, а затем Ctrl + Shift + F9. Но синий цвет по-прежнему остаётся. Еще одна проблема — печать страниц из Википедии, сноски, которыми утыканы все статьи, в печатном виде часто бесполезны. Беглым поиском решения не нашел, поэтому написал два простеньких макроса:

Sub Удалить_ссылки()
  On Error Resume Next
  'Определим выделен ли текст, если да, возьмем выделение, нет - весь документ
  If Len(Selection.Range.Text) > 0 Then
    Set MyObject = Selection
  Else
    Set MyObject = ActiveDocument
  End If
  'Изменим стиль текста ссылок, потом удалим ссылки
  While MyObject.Hyperlinks.Count > 0
    MyObject.Hyperlinks(1).Range.Font.Underline = wdUnderlineNone
    MyObject.Hyperlinks(1).Range.Font.ColorIndex = wdAuto
    MyObject.Hyperlinks(1).Delete
  Wend
End Sub

Sub Удалить_сноски_wiki()
  With Selection.Range.Find
    .Text = "\[*\]"
    .Replacement.Text = ""
    .MatchWildcards = True
    .Forward = True
    If Len(Selection.Range.Text) = 0 Then
      .Wrap = wdFindContinue
    End If
    .Execute Replace:=wdReplaceAll
  End With
End Sub

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

30 декабря 2012 17:30 

Комментариев нет


Ваше имя Сайт или блог (опционально) Аватар (опционально, e-mail для Gravatar или ссылка на картинку с ipic.su) Текст комментария

Справка по написанию комментария

  • Для вставки аватара зарегиструйтесь на сервисе Gravatar и укажите ваш e-mail. Вы также можете загрузить аватар на http://ipic.su и скопировать текст с поля «прямая ссылка». Другие сервисы или хостинги изображений не поддерживаются. Большие изображения будут уменьшены автоматически. Пример:

    http://ipic.su/img/img7/fs/user4.1358962896.png
  • Имя, адрес и аватар сохраняются, второй раз вводить не придётся
  • Кликните на аватар, чтобы вставить имя пользователя
  • Слово обрамлённое «звёздочками» становится *жирным*
  • Адрес ссылки автоматически становится ссылкой — http://anothersite.ru
  • Ссылки на текст с http://pastebin.com автоматически разворачиваются в тексте комментария
  • Цитату следует начинать со знака «больше»:
    > пример многострочной
    > цитаты