Classe Bookmark - indicador (Word VBA)
A classe Bookmark representa um único indicador em um documento, seleção ou intervalo. O objeto indicador é um membro dos indicadores de coleção. A coleção Bookmarks inclui todos os indicadores listados na caixa de diálogo Indicador (menu Inserir). Para usar uma variável de classe Bookmark, ela primeiro precisa ser instanciada por exemplo
Dim bkm as Bookmark
Set bkm = ActiveDocument.Bookmarks(Index:=1)
For Each
Aqui está um exemplo de processamento dos itens Bookmark em uma coleção.
Dim bkm As Bookmark
For Each bkm In ActiveDocument.Bookmarks
Next bkm
Column
True se o indicador especificado é uma coluna de tabela. Boolean somente leitura.
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 um indicador para o novo indicador especificado no argumento Name e retorna um objeto Bookmark .
Copy (Name)
Name: O nome do novo indicador.
Dim strName As String: strName =
Dim bkmCopy As Bookmark
Set bkmCopy = ActiveDocument.Bookmarks(1).Copy(Name:=strName)
Delete
Exclui o indicador 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 se o indicador especificado está vazio. Boolean somente leitura.
Um indicador vazio identifica uma posição (uma seleção recolhida), sem marcar texto algum. Se o indicador especificado não existir, ocorrerá um erro. Use a propriedade Exists para determinar se o indicador existe.
If ActiveDocument.Bookmarks.Exists("temp") = True Then
If ActiveDocument.Bookmarks("temp").Empty = True Then _
MsgBox "The Temp bookmark is empty"
End If
End
Retorna ou define a posição de caractere final de uma seleção, intervalo ou indicador. Long de leitura/gravação.
Se essa propriedade estiver definida como um valor menor que a propriedade Start, a propriedade Start será definida com o mesmo valor (ou seja, a Iniciar e propriedades End ficarão iguais). Essa propriedade retorna a posição do caractere final em relação ao início do texto. O texto do documento principal (wdMainTextStory) começa com a posição de caractere 0 (zero). Você pode alterar o tamanho de um indicador definindo essa propriedade.
Set Book1 = ActiveDocument.Bookmarks("begin")
Set Book2 = ActiveDocument.Bookmarks("temp")
If Book2.End > Book1.Start Then Book1.Select
Name
Retorna o nome do objeto especificado. Cadeia de caracteressomente leitura.
Dim strName As String
strName = ActiveDocument.Bookmarks(1).Name
Range
Retorna um objeto Range que representa a parte de um documento que está contida no objeto especificado.
Para obter informações sobre como retornar um intervalo de um documento ou um intervalo de formas de uma coleção de formas, consulte o método Range.
Dim rngRange As Range
Set rngRange = ActiveDocument.Bookmarks(1).Range
Select
Seleciona o indicador especificado.
Depois de usar esse método, use o objeto Selection para trabalhar com os itens selecionados. Para obter mais informações, consulte o tópico Trabalhando com o objeto Selection.
ActiveDocument.Bookmarks(1).Select
Start
Retorna ou define a posição de caractere inicial de um indicador. Long de leitura/gravação.
Se essa propriedade for definida como um valor maior que o da propriedade End, a propriedade End é definida com o mesmo valor da propriedade Start. Os objetos Bookmark têm posições de caractere inicial e final. A posição inicial se refere à posição de caractere mais próxima ao início do texto. Essa propriedade retorna a posição de caractere inicial relativa ao início do texto. O texto principal (wdMainTextStory) começa com a posição de caractere 0 (zero). Você pode alterar o tamanho de um indicador definindo essa propriedade.
Set Book1 = ActiveDocument.Bookmarks("begin")
Set Book2 = ActiveDocument.Bookmarks("temp")
If Book2.End > Book1.Start Then Book1.Select
StoryType
Retorna o tipo de texto do intervalo, seleção ou indicador especificado. WdStoryType somente leitura. Aqui você pode encontrar os valores possíveis para
If ActiveDocument.Bookmarks.Exists("temp") = True Then
Set myBookmark = ActiveDocument.Bookmarks("temp")
If myBookmark.StoryType = wdMainTextStory _
Then myBookmark.Select
End If