Как динамически гиперссылку оглавления на страницы в Publisher vba? - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть буклет издателя с оглавлением на странице 2. Страница основана на главной странице, но сама таблица не на главной странице.Содержание в таблице.Я хотел бы, чтобы конечный результат прочитал содержимое каждой ячейки в оглавлении, сравнил текст с заголовками страниц (на реальных страницах; не на главных страницах).Если совпадение найдено, создайте / обновите гиперссылку и отобразите соответствующий номер страницы.

Когда я попадаю в часть кода с гиперссылкой, я получаю сообщение об ошибке в Text: = .TextRange (ошибка компиляции - метод или данные не найдены).Я попытался поменять местами несколько разных сегментов, но затем получил ошибку 70 Permission Denied.Я также включил фрагмент того, как выглядит оглавление, на случай, если это поможет. TOC image

Будем благодарны за любые указания, которые могут быть предоставлены.Спасибо !!!

Я указал мой код ниже.

Sub HyperlinkTOC()

Dim hypNew As Hyperlink
Dim lngPageID As Long
Dim strPage As String
Dim intCount As Integer
    x = ActiveDocument.Pages.Count
    lngPageID = ActiveDocument.Pages(x).PageID
    strPage = "Go to page " _
    & Str(ActiveDocument.Pages(x).PageNumber)

 With Selection

    If .Type = pbSelectionTableCells Then

        With .TableCellRange

            For intCount = 1 To .Count

            .Item (intCount)

                If Selection.TextRange.Hyperlinks.Count >= 1 Then
                Selection.TextRange.Hyperlinks(1).Delete
                End If

 '>>>Error starts here

                Set hypNew = .TextRange.Hyperlinks.Add(Text:=.TextRange, _
                RelativePage:=pbHlinkTargetTypePageID, _
                PageID:=lngPageID, _
                TextToDisplay:=strPage)

                End With

            Next

        End With

    End If

End With

End Sub
...