OFF: Como utilizar a automatização (OLE) com o Word

Traduções deste artigo Traduções deste artigo
ID do artigo: 184974 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo contém uma breve descrição e uma macro de exemplo detalhando como automatizar o Microsoft Word de outro programa. Para obter informações mais detalhadas, consulte a subseção "Referências" no final deste artigo.

Mais Informações

Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita, incluindo, mas não se limitando às garantias implícitas de comercialização e/ou adequação a uma finalidade específica. Este artigo presume que você esteja familiarizado com a linguagem de programação demonstrada e as ferramentas usadas para criar e depurar procedimentos. Profissionais de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades específicas.
Se você não tenha muita experiência de programação, talvez queira em contato com um Microsoft Certified Partner ou Microsoft Advisory Services. Para obter mais informações, visite da Microsoft:

Microsoft Certified Partners - https://partner.microsoft.com/global/30000104

Comunicado de Microsoft Services - http://support.microsoft.com/gp/advisoryservice

Para obter mais informações sobre as opções de suporte estão disponíveis e sobre como entrar em contato com a Microsoft, visite o seguinte site: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
Automação (anteriormente denominadas automação OLE) é um recurso que os programas usam para expor seus objetos para ferramentas de desenvolvimento, linguagens de macro e outros programas que oferecem suporte a automação. Por exemplo, um programa de planilha pode expor uma planilha, gráfico, célula ou intervalo de células, cada um como um tipo diferente do objeto. Um processador pode expor objetos, como um aplicativo, um documento, um parágrafo, uma sentença, um indicador ou uma seleção.

Quando um programa oferece suporte à automação, você pode usar o Visual Basic for Applications para acessar os objetos que ele expõe. Manipular esses objetos no Visual Basic, chamando métodos no objeto ou obtendo e definindo as propriedades do objeto.

Você pode usar os exemplos de código neste artigo para controlar o Microsoft Word do Microsoft Access 97, Microsoft Excel 97, Microsoft PowerPoint 97, Microsoft Visual Basic for Applications ou qualquer outro cliente que oferece suporte a automação para controlar o Word.

Guia de Introdução

Há quatro etapas principais para automatizar o Word para Windows.
  1. Adicione uma referência à biblioteca de objeto do Microsoft Word 8.0.
  2. Declare uma variável como um tipo de objeto do Word.
  3. Atribua o objeto retornado pela função CreateObject à variável de objeto declarada na etapa 2.
  4. Use as propriedades e métodos da variável de objeto para automatizar o Word.

Etapa 1: Adicionando uma referência ao Word 8.0 Object Library

Para adicionar uma referência para o Microsoft Word 8.0 Object Library usando o Microsoft Access 97, Microsoft PowerPoint 97 ou Microsoft Excel 97, execute estas etapas:
  1. No Microsoft Access, PowerPoint ou Excel, no menu Ferramentas , aponte para macros e, em seguida, clique em Editor do Visual Basic .
  2. No Editor do Visual Basic, no menu Ferramentas , clique em referências .
  3. Na lista de Referências disponíveis , clique para selecionar caixa de seleção (seleção) do Microsoft Word 8.0 Object Library .
Observação : para adicionar a referência usando o Microsoft Visual Basic 5.0, clique em referências no menu projeto .

Adicionar o Microsoft Word 8.0 Object Library referência permite que seu programa acessar a Ajuda Online do Microsoft Word e no Microsoft Word Visual Basic for Applications constantes, propriedades e métodos. Observe que a referência de Word 8.0 Object Library é necessário para automatizar os tipos de objeto do Word diretamente.

Adicionar uma referência ao Word 8.0 Object Library é chamado vinculação antecipada.

Para obter mais informações sobre vinculação antecipada, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
138138INFO: Mais tarde, identificação, vinculação antecipada tipos possível em VB para aplicativos

Etapa 2: Declarando a variável de objeto

Para declarar uma variável de objeto, você dimensão a variável como dimensão qualquer variável, exceto que você especifica o tipo quando declarando o objeto. Por exemplo, Word.Application , Document e parágrafo são objetos do Word separado.

A seguinte linha de comando exemplo declara a variável objWD como um objeto do tipo Word.Application :

   Dim objWD as Word.Application

				

Etapa 3: Definir a variável

Há duas funções do Visual Basic você pode usar para "vincular" a variável de objeto já declarado para o Word: CreateObject e GetObject . As diferenças principais são que a função CreateObject cria uma nova instância do Word, enquanto a função GetObject usa uma existente, ou instância já em execução do Word. Você também pode usar o GetObject para vincular sua variável de objeto a um documento do Word específico.

As seguintes linhas de comando exemplo vincular a variável objWD Word usando a função CreateObject :

   Dim objWD as Word.Application
   Set objWD = CreateObject("Word.Application")

				
as seguintes linhas de comando exemplo vincular a variável objWdDoc a um documento do Word específico:
   Dim objWdDoc As Word.Document
   Set objWdDoc = GetObject("c:\my documents\doc1.doc")
				
Observação : é recomendável usar somente a função CreateObject para automatizar o Word para Windows. A função GetObject pode causar um comportamento imprevisível se estiver executando o WordMail ou se um documento do Word é incorporado dentro de outro programa.

Para obter mais informações sobre como obter ajuda com o Visual Basic para aplicativos, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
185232WD97: Erro mensagem usando WordMail: 'Este método ou propriedade não está disponível'

Etapa 4: Usar propriedades e métodos para automatizar o Word

Quando você concluir as etapas 1-3, você pode usar a variável de objeto para automatizar o Word.

A macro de exemplo a seguir utiliza automação para criar um objeto do Word, criar um novo documento, adicione algum texto e salve o documento.
Sub AutomateWord()
   ' Declare the variable.
   Dim objWD As Word.Application
   ' Set the variable (runs new instance of Word.)
   Set objWD = CreateObject("Word.Application")
   ' Add a new document.
   objWD.Documents.Add
   ' Add some text.
   objWD.Selection.TypeText "This is some text."
   ' Save the document.
   objWD.ActiveDocument.SaveAs filename:="mydoc.doc"
   ' Quit Word.
   objWD.Quit
   ' Clear the variable from memory.
   Set objWD = Nothing
End Sub
				
Observação : A seguinte macro de exemplo duplica o processo descrito na macro AutomateWord e é executado diretamente no Word:
Sub WordMacro()
   Documents.Add
   Selection.TypeText "This is some text"
   ActiveDocument.SaveAs filename:="mydoc.doc"
   Quit
End Sub
				

Referências

Para obter mais informações específicas para automatizar o Word usando o Visual Basic for Applications, consulte os seguintes recursos.

Site do Microsoft Office Developer

http://www.msdn.microsoft.com/office

Guia do programador do Microsoft Office 97/Visual Basic

Usando a automação no capítulo do guia do Microsoft Office 97/Visual Basic Programmer objetos do Microsoft Word (ISBN: 1-57231-340-4).

- ou -

Exiba o guia on-line em:
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/office97/html/web/fulltoc.asp

Grupos de notícias

Os seguintes newsgroups peer-to-peer estão disponíveis para ajudá-lo a interagir com outros usuários do Visual Basic for Applications:
Microsoft.public.Word.VBA.AddIns
Microsoft.public.Word.VBA.Beginners
Microsoft.public.Word.VBA.Customization
Microsoft.public.vb.OLE.Automation

Base de dados de Conhecimento

Para obter mais informações sobre como obter ajuda com o Visual Basic for Applications, leia os seguintes artigos na Base de dados de Conhecimento da Microsoft:
163435VBA: Programação recursos para o Visual Basic for Applications

173707OFF97: Como executar o código de exemplo de artigos da Knowledge Base

163425WD97: Recursos de programação de macro

Assistente do Office

Para obter mais informações sobre automação, no Editor do Visual Basic, clique no Assistente do Office, digite " automação ", clique em Pesquisar e, em seguida, clique para exibir "Communicating com outros aplicativos".

Observação : se o Assistente estiver oculto, clique no botão Assistente do Office na barra de ferramentas padrão. Se o assistente não for capaz de responder sua consulta, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
176476OFF: Assistente do Office não resposta perguntas do Visual Basic

Propriedades

ID do artigo: 184974 - Última revisão: segunda-feira, 22 de janeiro de 2007 - Revisão: 4.3
A informação contida neste artigo aplica-se a:
  • Microsoft Excel 97 Standard Edition
  • Microsoft Word 97 Standard Edition
  • Microsoft Visual Basic for Applications 5.0
Palavras-chave: 
kbmt kbdtacode kbhowto kbinterop kbprogramming KB184974 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 184974
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com