Clase Bookmark - marcador (Word VBA)
La clase Bookmark representa un solo marcador en un documento, selección o rango. Para usar una variable de clase Bookmark, primero debe ser instanciado, por ejemplo
Dim bkm as Bookmark
Set bkm = ActiveDocument.Bookmarks(Index:=1)
For Each
A continuación, se muestra un ejemplo de cómo procesar los elementos Bookmark en una colección.
Dim bkm As Bookmark
For Each bkm In ActiveDocument.Bookmarks
Next bkm
Column
True si el marcador especificado es una columna de tabla.
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
Copia un marcador en el nuevo marcador especificado en el argumento Name y devuelve un objeto Bookmark .
Copy (Name)
Name: Nombre del nuevo marcador.
Dim strName As String: strName =
Dim bkmCopy As Bookmark
Set bkmCopy = ActiveDocument.Bookmarks(1).Copy(Name:=strName)
Delete
Elimina el marcador especificado.
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 el marcador especificado está vacío.
Un marcador vacío señala una ubicación (una selección contraída); no marca ningún texto.
If ActiveDocument.Bookmarks.Exists("temp") = True Then
If ActiveDocument.Bookmarks("temp").Empty = True Then _
MsgBox "The Temp bookmark is empty"
End If
End
Devuelve o establece la posición del carácter final de una selección, intervalo o marcador.
Si esta propiedad se establece en un valor menor que la propiedad Start, la propiedad Start se establece en el mismo valor (es decir, el Inicio de propiedades y End son iguales). Esta propiedad devuelve la posición del carácter final con relación al inicio del artículo.
Set Book1 = ActiveDocument.Bookmarks("begin")
Set Book2 = ActiveDocument.Bookmarks("temp")
If Book2.End > Book1.Start Then Book1.Select
Name
Devuelve el nombre del objeto especificado.
Dim strName As String
strName = ActiveDocument.Bookmarks(1).Name
Range
Devuelve un objeto Range que representa la parte de un documento que está contenida en el objeto especificado.
Para obtener información acerca de la devolución de un intervalo de un documento o la devolución de un intervalo de formas de una colección de formas, vea el método Range.
Dim rngRange As Range
Set rngRange = ActiveDocument.Bookmarks(1).Range
Select
Selecciona el marcador especificado.
Después de utilizar este método, utilice el objeto Selection para trabajar con los elementos seleccionados.
ActiveDocument.Bookmarks(1).Select
Start
Devuelve o establece la posición del carácter inicial de un marcador.
Si esta propiedad se establece en un valor superior de la propiedad End, dicha propiedad End se establece en el mismo valor que el de la propiedad Start. Los objetos Bookmark tienen posiciones de carácter inicial y final. Esta propiedad devuelve la posición del carácter inicial relativa al inicio del artículo.
Set Book1 = ActiveDocument.Bookmarks("begin")
Set Book2 = ActiveDocument.Bookmarks("temp")
If Book2.End > Book1.Start Then Book1.Select
StoryType
Devuelve el tipo de artículo del intervalo, la selección o el marcador especificado. Aquí puede ver valores posibles para
If ActiveDocument.Bookmarks.Exists("temp") = True Then
Set myBookmark = ActiveDocument.Bookmarks("temp")
If myBookmark.StoryType = wdMainTextStory _
Then myBookmark.Select
End If