XL: Visual Basic Examples Using DDELast reviewed: February 27, 1998Article ID: Q141772 |
The information in this article applies to:
SUMMARYDynamic Data Exchange (DDE) is a method you can use to exchange data with another DDE-compliant program. In Microsoft Excel, one way you can use DDE is through a Visual Basic for Applications macro.
MORE INFORMATIONThe following macro code provides some simple examples using DDE from Microsoft Excel to Microsoft Word. Microsoft provides examples of Visual Basic for Applications procedures for illustration only, without warranty either expressed or implied, including, but not limited to the implied warranties of merchantability and/or fitness for a particular purpose. The Visual Basic procedures in this article are provided 'as is' and Microsoft does not guarantee that they can be used in all situations. While Microsoft support engineers can help explain the functionality of a particular macro, they will not modify these examples to provide added functionality, nor will they help you construct macros to meet your specific needs. If you have limited programming experience, you may want to consult one of the Microsoft Solution Providers. Solution Providers offer a wide range of fee-based services, including creating custom macros. For more information about Microsoft Solution Providers, call Microsoft Customer Information Service at (800) 426-9400.
Macro Example 1To use the first macro, Microsoft Word will either need to be in the PATH statement in the Autoexec.bat file, or Microsoft Word must be running.
' Start a channel to Word using the System topic.Chan = DDEInitiate("WinWord", "System")
' Requesting information from Word using the Formats item ' this will return a one dimensional array.RequestItems = DDERequest(Chan, "Formats")
' Uses a FOR loop to cycle through the array and display in a message box.For i = LBound(RequestItems) To UBound(RequestItems) MsgBox RequestItems(i)Next i
' Terminate the DDE channel.DDETerminate Chan
End Sub A series of message boxes will be displayed with each of the available format types in Microsoft Word.
Macro Example 2To use this second example, Microsoft Word must be in the PATH statement in the Autoexec.bat. To edit the Autoexec.bat, you can use an MS-DOS Editor or Notepad in Windows.
' Create an range object to poke.Set PokeRange = Range("Sheet1!a1")
' Initiate a channel to Word using a file as the topic.Chan = DDEInitiate("WinWord", "c:\ddetest.doc")
' Execute a few WordBasic commands.DDEExecute Chan, "[FileNewDefault]" DDEExecute Chan, "[InsertPara]" DDEExecute Chan, "[InsertPara]"
' Pokes the data in A1 into ddetest.doc. ' This is not poked into the active document. ' The data is placed in the topic that started the DDE conversation. ' \StartOfDoc is a predefined bookmark in Word.DDEPoke Chan, "\StartOfDoc", PokeRange
' Terminate the DDE channel.DDETerminate Chan End Sub Note that the word "hello" (without the quotation marks) is added to the beginning of the document.
REFERENCES"Visual Basic User's Guide," version 5.0, Chapter 10, "Controlling and Communicating with Other Applications" "Microsoft Excel/Visual Basic Programmer's Guide," version 7.0, Chapter 10, "Communicating with Other Applications" For more information about DDE, click Answer Wizard on the Help menu and type:
programming with ddeIn Microsoft Excel, version 5.0, click Contents on the Help menu, select "Programming With Visual Basic" and then click the Search button and type "DDE" (without the quotation marks).
|
Additional query words: 5.00 5.00c 7.00 8.00 XL97 communicate talk send
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |