[英]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.