Klasse Bookmark - Textmarke (Word VBA)
Die Klasse Bookmark stellt eine einzelne Textmarke in einem Dokument, einer Auswahl oder einem Bereich dar. Um eine Bookmark -Klassenvariable zu verwenden, muss sie zuerst instanziert werden, beispielsweise
Dim bkm as Bookmark
Set bkm = ActiveDocument.Bookmarks(Index:=1)
For Each
Hier ist ein Beispiel für die Verarbeitung der Bookmark -Elemente in einer Sammlung
Dim bkm As Bookmark
For Each bkm In ActiveDocument.Bookmarks
Next bkm
Column
True, wenn die angegebene Textmarke eine Tabellenspalte ist.
Dim docNew As Document
Dim tableNew As Table
Dim rangeCell As Range
Set docNew = Documents.Add
Set tableNew = docNew.Tables.Add(Selection.Range, 3, 5)
Set rangeCell = tableNew.Cell(3,5).Range
rangeCell.InsertAfter "Cell(3,5)"
docNew.Bookmarks.Add Name:="BKMK_Cell35", Range:=rangeCell
MsgBox docNew.Bookmarks(1).Column
Copy
Kopiert eine Textmarke in die neue Textmarke, die im Argument Name angegeben ist, und gibt ein Bookmark -Objekt zurück.
Copy (Name)
Name: Der Name der neuen Textmarke.
Dim strName As String: strName =
Dim bkmCopy As Bookmark
Set bkmCopy = ActiveDocument.Bookmarks(1).Copy(Name:=strName)
Delete
Löscht die angegebene Textmarke.
Sub DeleteBookmark()
Dim intResponse As Integer
Dim strBookmark As String
strBookmark = "temp"
intResponse = MsgBox("Are you sure you want to delete " _
& "the bookmark named """ & strBookmark & """?", vbYesNo)
If intResponse = vbYes Then
If ActiveDocument.Bookmarks.Exists(Name:=strBookmark) Then
ActiveDocument.Bookmarks(Index:=strBookmark).Delete
End If
End If
End Sub
Empty
True, wenn die angegebene Textmarke leer ist.
Eine leere Textmarke markiert eine Position (eine reduzierte Auswahl); Text wird nicht markiert.
If ActiveDocument.Bookmarks.Exists("temp") = True Then
If ActiveDocument.Bookmarks("temp").Empty = True Then _
MsgBox "The Temp bookmark is empty"
End If
End
Gibt die Endzeichenposition einer Markierung, eines Bereichs oder einer Textmarke zurück oder legt sie fest.
Wenn diese Eigenschaft auf einen Wert festgelegt ist, der kleiner als die Start -Eigenschaft ist, wird die Start -Eigenschaft auf denselben Wert festgelegt (das heißt, die Eigenschaften Start und End sind gleich). Diese Eigenschaft gibt die Endzeichenposition relativ zum Anfang der Dokumentkomponente zurück.
Set Book1 = ActiveDocument.Bookmarks("begin")
Set Book2 = ActiveDocument.Bookmarks("temp")
If Book2.End > Book1.Start Then Book1.Select
Name
Gibt den Namen des angegebenen Objekts zurück.
Dim strName As String
strName = ActiveDocument.Bookmarks(1).Name
Range
Gibt ein Range -Objekt zurück, das den Teil eines Dokuments darstellt, der im angegebenen Objekt enthalten ist.
Informationen zum Zurückgeben eines Bereichs aus einem Dokument oder Zurückgeben eines Formbereichs aus einer Auflistung von Formen finden Sie unter der Range -Methode.
Dim rngRange As Range
Set rngRange = ActiveDocument.Bookmarks(1).Range
Select
Wählt die angegebene Textmarke aus.
Nach Verwendung dieser Methode können Sie über das Selection-Objekt mit den ausgewählten Elementen arbeiten.
ActiveDocument.Bookmarks(1).Select
Start
Gibt die Anfangszeichenposition einer Textmarke zurück oder legt diese Position fest.
Wenn diese Eigenschaft auf einen Wert festgelegt ist, der größer ist als die End -Eigenschaft, wird die End -Eigenschaft auf denselben Wert wie die Start -Eigenschaft festgelegt. Bookmark-Objekte haben Anfangs- und Endzeichenpositionen. Diese Eigenschaft gibt die Anfangszeichenposition relativ zum Anfang des Artikels zurück.
Set Book1 = ActiveDocument.Bookmarks("begin")
Set Book2 = ActiveDocument.Bookmarks("temp")
If Book2.End > Book1.Start Then Book1.Select
StoryType
Gibt die Art des Artikels für den angegebenen Bereich, die angegebene Auswahl oder Textmarke zurück. Dies sind mögliche Werte für
If ActiveDocument.Bookmarks.Exists("temp") = True Then
Set myBookmark = ActiveDocument.Bookmarks("temp")
If myBookmark.StoryType = wdMainTextStory _
Then myBookmark.Select
End If