Classe Bookmark - signet (Word VBA)
La classe Bookmark représente un seul signet d'un document, une sélection ou une plage. Pour utiliser une variable de classe Bookmark, elle doit d'abord être instanciée, par exemple
Dim bkm as Bookmark
Set bkm = ActiveDocument.Bookmarks(Index:=1)
For Each
Voici un exemple de traitement des éléments Bookmark dans une collection
Dim bkm As Bookmark
For Each bkm In ActiveDocument.Bookmarks
Next bkm
Column
True si le signet spécifié est une colonne de table.
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
Copie un signet vers le nouveau signet spécifié dans l’argument nom et renvoie un objet Bookmark .
Copy (Name)
Name: Nom du nouveau signet.
Dim strName As String: strName =
Dim bkmCopy As Bookmark
Set bkmCopy = ActiveDocument.Bookmarks(1).Copy(Name:=strName)
Delete
Supprime le signet spécifié.
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 si le signet spécifié est vide.
Un signet vide marque un emplacement (une sélection réduite) ; il ne marque aucun texte.
If ActiveDocument.Bookmarks.Exists("temp") = True Then
If ActiveDocument.Bookmarks("temp").Empty = True Then _
MsgBox "The Temp bookmark is empty"
End If
End
Cette propriété renvoie ou définit la position du caractère de fin d'une sélection, une plage ou un signet.
Si cette propriété est définie sur une valeur inférieure à la propriété Start, la propriété Start est définie sur la même valeur (autrement dit, les propriétés de fin et de début sont identiques). Cette propriété renvoie l'emplacement du caractère de fin par rapport au début de l'article.
Set Book1 = ActiveDocument.Bookmarks("begin")
Set Book2 = ActiveDocument.Bookmarks("temp")
If Book2.End > Book1.Start Then Book1.Select
Name
Renvoie le nom de l'objet spécifié.
Dim strName As String
strName = ActiveDocument.Bookmarks(1).Name
Range
Renvoie un objet Range qui représente la partie d'un document contenue dans l'objet spécifié.
Pour plus d'informations sur le renvoi d'une plage à partir d'un document ou le renvoi d'une plage de formes à partir d'une collection de formes, voir la méthode Range.
Dim rngRange As Range
Set rngRange = ActiveDocument.Bookmarks(1).Range
Select
Sélectionne le signet spécifié.
Après avoir exécuté cette méthode, utilisez l'objet Selection pour travailler avec les éléments sélectionnés.
ActiveDocument.Bookmarks(1).Select
Start
Cette propriété renvoie ou définit la position du caractère de départ d'un signet.
Si cette propriété est définie sur une valeur supérieure à celle de la propriété End, la propriété End est définie sur la même valeur que celle de la propriété Start. Les objets Bookmark disposent de positions de caractères de début et de fin. Cette propriété renvoie la position du caractère de début par rapport au début de l'article.
Set Book1 = ActiveDocument.Bookmarks("begin")
Set Book2 = ActiveDocument.Bookmarks("temp")
If Book2.End > Book1.Start Then Book1.Select
StoryType
Renvoie le type d'article pour la plage, la sélection ou le signet spécifié. Ici on trouve valeurs possible pour
If ActiveDocument.Bookmarks.Exists("temp") = True Then
Set myBookmark = ActiveDocument.Bookmarks("temp")
If myBookmark.StoryType = wdMainTextStory _
Then myBookmark.Select
End If