Artigo: 212682 - Última revisão: quinta-feira, 12 de Outubro de 2006 - Revisão: 3.5

Exemplos de macros VBA para inserir texto num documento no Word 2000

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Este artigo foi publicado anteriormente em PT212682


Este artigo poderá conter hiperligações para conteúdo em inglês (ainda não traduzido).

Para obter uma versão deste artigo referente ao Microsoft Word 98 Macintosh Edition, consulte 183866  (http://support.microsoft.com/kb/183866/ ) .
Para obter uma versão deste artigo referente ao Microsoft Word 97, consulte 161407  (http://support.microsoft.com/kb/161407/ ) .

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Este artigo fornece vários exemplos de macros do Visual Basic for Applications que utilizam a propriedade Selection e o objecto Range para inserir texto num documento.

Mais Informação

A Microsoft fornece exemplos de programação apenas a título informativo, sem garantia expressa ou implícita. Isto inclui, sem se limitar, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que o utilizador conhece a linguagem de programação apresentada e as ferramentas utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador.

Utilizar o objecto Selection e o método TypeText

Insere o texto especificado. Se a propriedade ReplaceSelection for Verdadeiro, a selecção é substituída pelo texto especificado. Se a propriedade ReplaceSelection for Falso, o texto especificado será inserido antes da selecção.

Para obter mais informações sobre a propriedade ReplaceSelection, no Visual Basic Editor clique em Ajuda do Microsoft Visual Basic no menu Help, escreva ReplaceSelection Property no Assistente do Office ou no Assistente de respostas e clique em Procurar para visualizar o tópico.
Sub TypeTextMethod()
  Dim MyText As String
  MyText = "<Replace this with your text>"
  Selection.TypeText (MyText)
End Sub
				

Utilizar o objecto 'Range'

O exemplo que se segue substitui integralmente o conteúdo de um documento com a palavra "Replaced", independentemente da posição actual do ponto de inserção.

Sub RangeProperty()
  ' Range Example:
  ActiveDocument.Range.Text = "Replaced"
End Sub
				

Utilizar o objecto 'Range' ou 'Selection' com o método 'InsertAfter' ou 'InsertBefore'

Exemplo de método InsertAfter:

Insere o texto especificado no fim de um intervalo ou de uma selecção.
Sub InsertAfterMethod()
  Dim MyText As String
  Dim MyRange As Object
  Set MyRange = ActiveDocument.Range
  MyText = "<Replace this with your text>"
  ' Selection Example:
  Selection.InsertAfter (MyText)
  ' Range Example:
  ' (Inserts text at the current position of the insertion point.)
  MyRange.Collapse
  MyRange.InsertAfter (MyText)
End Sub
				
Exemplo de método InsertBefore:

Insere o texto especificado no início de um intervalo ou de uma selecção. Depois de aplicado este método, o intervalo ou a selecção expande-se de modo a incluir o texto novo.
Sub InsertBeforeMethod()
   Dim MyText As String
   Dim MyRange As Object
   Set MyRange = ActiveDocument.Range
   MyText = "<Replace this with your text>"
   ' Selection Example:
   Selection.InsertBefore (MyText)
   ' Range Example: Inserts text at the beginning
   ' of the active document.
   MyRange.InsertBefore (MyText)
End Sub
				

Inserir um comentário num documento utilizando o objecto 'Range' ou 'Selection'

Insere um comentário na posição actual do ponto de inserção.
Sub CommentsCollectionObject()
   Dim MyText As String
   Dim MyRange As Object
   Set MyRange = ActiveDocument.Range
   MyText = "<Replace this with your text>"
  ' Selection Example:
  Selection.Comments.Add Range:=Selection.Range, Text:=MyText
  ' Range Example:
  MyRange.Comments.Add Range:=Selection.Range, Text:=MyText
End Sub
				

Inserir um campo num documento utilizando o objecto 'Range' ou 'Selection'

Insere um campo na posição actual do ponto de inserção.
Sub FieldsCollectionObject()
   Dim MyText As String
   Dim MyRange As Object
   Set MyRange = Selection.Range
   MyText = "<Replace this with your text>"
   ' Selection Example:
   Selection.Fields.Add Range:=Selection.Range, _
      Type:=wdFieldQuote, Text:=MyText
   ' Range Example:
    Range.Fields.Add Range:=Selection.Range, _
      Type:=wdFieldQuote, Text:=MyText
End Sub
				
Este exemplo insere um campo de fórmula. O resultado é formatado com um cifrão.

Sub InsertFormulaMethod()
   Selection.InsertFormula Formula:="=100,000.0-45,000.0", _
      NumberFormat:="$#,##0.0"
End Sub
				

Replicar o texto, incluindo o formato, de um intervalo de texto

Esta propriedade devolve um objecto Range com a formatação de caracteres e o texto da selecção ou do intervalo especificado. A formatação de parágrafos estará incluída no objecto Range caso exista uma marca de parágrafo no intervalo ou na selecção. Ao definir esta propriedade, o texto presente no intervalo é substituído por texto formatado. Caso não pretenda substituir o texto existente utilize o método Collapse antes de utilizar esta propriedade.
Sub FormattedTextProperty()
   ' This example copies the first paragraph in the document, including
   ' its formatting, and inserts the formatted text at the insertion
   ' point.
   Selection.Collapse Direction:=wdCollapseStart
   Selection.FormattedText = ActiveDocument.Paragraphs(1).Range
End Sub
				

Colocar texto num cabeçalho ou rodapé

NOTA: a propriedade HeaderFooter requer que a selecção esteja localizada num cabeçalho ou rodapé, caso contrário ocorrerá um erro.
Sub HeaderFooterProperty()
   Dim MyText As String
   MyText = "<Replace this with your text>"
   ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
   Selection.HeaderFooter.Range.Text = "MyText"
   ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub
				
O exemplo que se segue altera o texto quer do cabeçalho principal, quer do rodapé principal da primeira secção do documento activo.
Sub HeaderFooterObject()
  Dim MyText As String
  MyHeaderText = "<Replace this with your text>"
  MyFooterText = "<Replace this with your text>"
  With ActiveDocument.Sections(1)
    .Headers(wdHeaderFooterPrimary).Range.Text = MyHeaderText
    .Footers(wdHeaderFooterPrimary).Range.Text = MyFooterText
  End With
End Sub
				

Utilizar o objecto 'Range' ou 'Selection' para inserir uma data através do campo 'Time'

Este exemplo insere um campo Time para a data actual. Segue-se um resultado possível "18 de Novembro de 1996".
Sub InsertDateTimeMethod()
   Dim MyRange As Object
   Set MyRange = Selection.Range
   ' Selection Example:
   Selection.InsertDateTime DateTimeFormat:="MMMM dd, yyyy", _
   InsertAsField:=True
   ' Range Example:
   MyRange.InsertDateTime DateTimeFormat:="MMM dd, yyyy", _
   InsertAsField:=True
End Sub
				

Utilizar o objecto 'Range' ou 'Selection' para inserir um parágrafo novo

Este exemplo insere um parágrafo novo abaixo da posição actual do ponto de inserção.
Sub InsertParagraphMethod()
   Dim MyRange As Object
   Set MyRange = ActiveDocument.Range
   ' Selection Example:
   Selection.InsertParagraph
   ' Range Example:
   MyRange.Collapse Direction:=wdCollapseStart
   MyRange.InsertParagraph
End Sub
				

Utilizar o objecto 'Range' ou 'Selection' para inserir um símbolo

Este exemplo insere uma seta de duplo sentido no ponto de inserção.
Sub InsertSymbolMethod()
   Dim MyRange As Object
   Set MyRange = ActiveDocument.Range
   ' Selection Example:
   Selection.InsertSymbol CharacterNumber:=171, _
      Font:="Symbol", Unicode:=False
   ' Range Example:
   MyRange.Collapse Direction:=wdCollapseStart
   MyRange.InsertSymbol CharacterNumber:=171, _
      Font:="Symbol", Unicode:=False
End Sub
				

Utilizar o objecto 'Range' ou 'Selection' para colar texto da área de transferência

Este exemplo insere texto colocado na área de transferência na posição actual do ponto de inserção.
Sub PasteMethod()
   Dim MyRange As Object
   Set MyRange = Selection.Range
   ' Selection Example:
   Selection.Paste
   ' Range Example:
   MyRange.Collapse Direction:=wdCollapseStart
   MyRange.Paste
End Sub
				

Para obter mais informações sobre como utilizar o Object Range, no Visual Basic Editor clique em Ajuda do Microsoft Visual Basic no menu Help, escreva Object Range no Assistente do Office ou no Assistente de respostas e clique em Procurar para visualizar o tópico.

Para obter mais informações sobre como utilizar o Object Selection, no Visual Basic Editor clique em Ajuda do Microsoft Visual Basic no menu Help, escreva Object Selection no Assistente do Office ou no Assistente de respostas e clique em Procurar para visualizar o tópico.

Para obter mais informações sobre como utilizar o código de exemplo incluído neste artigo, clique no número de artigo abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
212536  (http://support.microsoft.com/kb/212536/PT/ ) OFF2000: Como executar códigos de exemplo a partir de artigos da Knowledge Base

Referências

Para obter mais informações sobre como obter ajuda para o Visual Basic for Applications, consulte o seguinte artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
226118  (http://support.microsoft.com/kb/226118/PT/ ) OFF2000: Lista de recursos disponíveis para o ajudar a aprender programação em Visual Basic for Applications

A informação contida neste artigo aplica-se a:
  • Microsoft Word 2000 Standard Edition
Palavras-chave: 
kbdtacode kbhowto kbmacroexample kbprogramming KB212682