Communicating with Other Applications

Além de trabalhar com dados do Word, você pode querer que seu aplicativo troque dados com outros aplicativos, como Excel, PowerPoint ou Access. Você pode se comunicar com outros aplicativos usando automação (anteriormente automação OLE) ou troca dinâmica de dados (DDE).

Automatizando o Word a partir de outro aplicativo

Automation allows you to return, edit, and export data by referencing another application's objects, properties, and methods. Application objects that can be referenced by another application are called Automation objects.

A primeira etapa para disponibilizar o Word para outro aplicativo para Automação é fazer uma referência ao objeto Aplicativo do Word. Em Visual Basic, você usa a função Visual Basic CreateObject ou GetObject para retornar uma referência ao objeto Aplicativo do Word. Por exemplo, em um Excel, você pode usar a instrução a seguir.

Set wrd = CreateObject("Word.Application")

This instruction makes the Application object in Word available for Automation. Using the objects, properties, and methods of the Word Application object, you can control Word. For example, the following instruction creates a new Word document.

wrd.Documents.Add

Use the Visible property to make the new document visible after creating it.

wrd.Visible = True

The CreateObject function starts a Word session that Automation will not close when the object variable that references the Application object expires. Setting the object reference to the Visual Basic Nothing keyword will not close Word. Instead, use the Quit method to close the Word application. O exemplo Excel a seguir exibe o caminho de inicialização do Word. O método Quit é usado para fechar a nova instância do Word após aexibição do caminho de inicialização.

Set wrd = CreateObject("Word.Application") 
MsgBox wrd.Options.DefaultFilePath(wdStartupPath) 
wrd.Quit

Automatizando outro aplicativo a partir do Word

To exchange data with another application using Automation from Word, you first obtain a reference to the application using the CreateObject or GetObject function. Then, using the objects, properties, and methods of the other application, you add, change, or delete information. When you finish making your changes, close the application. O exemplo a seguir do Word exibe o caminho Excel de inicialização. You can use the Visual Basic Set statement with the Nothing keyword to clear an object variable, which has the same effect as closing the application.

Set myobject = CreateObject("Excel.Application") 
MsgBox myobject.StartupPath 
Set myobject = Nothing

Usando troca dinâmica de dados (DDE)

Se um aplicativo não oferece suporte à automação, o DDE pode ser uma alternativa. DDE é um protocolo que permite que dois aplicativos se comuniquem trocando dados contínua e automaticamente entre si através de um "canal" DDE. Para controlar uma conversação DDE entre dois aplicativos, você estabelece um canal, seleciona um tópico, requisita e envia dados e, em seguida, fecha o canal. A tabela a seguir lista as tarefas que o Word efetua com DDE e os métodos usados para controlar cada tarefa no Visual Basic.

Observação de Segurança

Tarefa Método
Iniciar DDE DDEInitiate
Obter texto de outro aplicativo DDERequest
Enviar texto para outro aplicativo DDEPoke
Executar um comando em outro aplicativo DDEExecute
Fechar um canal DDE DDETerminate
Fechar todos os canais DDE DDETerminateAll

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.