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. No Visual Basic, você usa a função Visual Basic CreateObject ou GetObject para retornar uma referência ao objeto Word Application . Por exemplo, em um procedimento do 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 do 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 do Word a seguir exibe o caminho de inicialização do Excel. Use a instrução Conjunto Do Visual Basic com a palavra-chave Nothing para limpar uma variável de objeto, que tem o mesmo efeito que fechar o aplicativo.
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. O DDE é um protocolo que permite que dois aplicativos se comuniquem trocando dados continuamente e automaticamente por meio de um "canal" DDE. Para controlar uma conversa DDE entre dois aplicativos, você estabelece um canal, seleciona um tópico, solicita e envia dados e 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 | Method |
---|---|
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.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de