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)

Die folgenden Prozeduren können zum Festlegen der Bookmark Klassenvariablen verwendet werden : Copy, Bookmarks.Add und Bookmarks.Item.

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 WdStoryType.

If ActiveDocument.Bookmarks.Exists("temp") = True Then 
 Set myBookmark = ActiveDocument.Bookmarks("temp") 
 If myBookmark.StoryType = wdMainTextStory _ 
 Then myBookmark.Select 
End If