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

Я пытаюсь создать надстройку ms word, в которой,

Я хотел проверить конкретный сценарий, то есть скажем, что пользователь вставляет закладку, а затем в документе добавляет перекрестную ссылку на эту закладку. Но затем он удаляет закладку и забывает обновить свой документ, теперь при нажатии ctrl + click (чтобы перейти по ссылке) переводит меня в начало документа, вместо этого я хотел знать, можем ли мы отобразить конкретное сообщение для пользователя, предлагающее ему обновить свой документ или даже удалить перекрестную ссылку при любой возможности.

Пожалуйста, дайте мне знать, как я могу это сделать, я знаю, как проверить недействительные ссылки в отношении toc. Но этот сценарий сбивает с толку. Любая помощь приветствуется. Заранее спасибо :)


person apoo    schedule 10.11.2014    source источник


Ответы (1)


Я решил проблему, используя следующую логику

Dim doc As Word.Document

Dim fld As Word.Field

Dim rng As Word.Range

Dim str As String



Set doc = ActiveDocument

For Each fld In doc.Fields

    If fld.Type = wdFieldRef Then

        str = fld.Code

        str = Replace(str, "REF ", "")

        str = Replace(str, "\h", "")

        str = Trim(str)

      ‘need handle the error if the bookmark has been deleted.

        Set rng = doc.Bookmarks(str).Range

    End If

Next

если вы хотите дополнительно удалить перекрестную ссылку на недопустимую закладку, вы можете использовать Field.Result.Delete

person apoo    schedule 12.11.2014