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


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