簡體   English   中英

使用 Word Vba 一次性插入封閉書簽

[英]Insert enclosing bookmarks at once with Word Vba

我想一次添加多個封閉書簽。

封閉的書簽不正確。 我得到“[一月]二月]三月]”,而不是[一月][二月][三月]。

這是我的初學者代碼...

Sub Execute()

    Dim arrayBookmarks()

    arrayBookmarks = Array("january", "february", "march")

    Call ManageBookmarks(arrayBookmarks)

End Sub


Function ManageBookmarks(arrayBookmarks() As Variant)

    ' Code to optimize ("With", "End With")

    Dim rangeBookmark As Range

    For i = LBound(arrayBookmarks) To UBound(arrayBookmarks)

        If ActiveDocument.Bookmarks.Exists(arrayBookmarks(i)) Then

            ' ... 

        Else

            ActiveDocument.Bookmarks.Add arrayBookmarks(i)

            Set rangeBookmark = ActiveDocument.Bookmarks(arrayBookmarks(i)).Range

            rangeBookmark.Text = arrayBookmarks(i) ' & vbLf ' line break is ideal 

            ActiveDocument.Bookmarks.Add arrayBookmarks(i), rangeBookmark

        End If

    Next i

End Function

嘗試:

Function ManageBookmarks(arrayBookmarks() As Variant)
' Code to optimize ("With", "End With")
Dim rangeBookmark As Range, i As Long
With ActiveDocument
    For i = LBound(arrayBookmarks) To UBound(arrayBookmarks)
        If .Bookmarks.Exists(arrayBookmarks(i)) Then
            ' ...
        Else
            Set rangeBookmark = .Range.Characters.Last
            rangeBookmark.Collapse wdCollapseEnd
            .Bookmarks.Add arrayBookmarks(i), rangeBookmark
            Set rangeBookmark = .Bookmarks(arrayBookmarks(i)).Range
            rangeBookmark.Text = arrayBookmarks(i) ' & vbLf ' line break is ideal
            .Bookmarks.Add arrayBookmarks(i), rangeBookmark
        End If
    Next i
End With
End Function

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM