DDEPoke Method

Applies To

Application object.

Description

Sends data to an application.

Syntax

expression.DDEPoke(Channel, Item, Data)

expression Optional. An expression that returns an Application object.

Channel Required Long. The channel number returned by the DDEInitiate method.

Item Required Variant. The item to which the data is to be sent.

Data Required Variant. The data to be sent to the application.

Remarks

An error occurs if the method call doesn't succeed.

Example

This example opens a channel to Word for Windows, opens the Word document Sales.doc, and then inserts the contents of cell A1 (on Sheet1) at the beginning of the document.

channelNumber = Application.DDEInitiate(app:="WinWord", _
    topic:="C:\WINWORD\SALES.DOC")
Set rangeToPoke = Worksheets("Sheet1").Range("A1")
Application.DDEPoke channelNumber, "\StartOfDoc", rangeToPoke
Application.DDETerminate channelNumber
This example opens a channel to Word for the Macintosh, opens the Word document Sales Report, and then inserts the contents of cell A1 (on Sheet1) at the beginning of the document. On the Macintosh, you must use the Shell function to start Word, because the DDEInitiate method doesn't automatically start Word as it does in Windows. Also, because the Shell function is asynchronous, the macro may call the DDEInitiate method before Word has started. This example demonstrates how you can program around this by putting the DDEInitiate method call in a loop, testing channelNumber until it is no longer an error.

Shell "HD:Sales Report", 6
Do
    channelNumber = Application.DDEInitiate( _
        app:="WinWord", _
        topic:="HD:Sales Report")
Loop Until TypeName(channelNumber) <> "Error"
Set rangeToPoke = Worksheets("Sheet1").Range("A1")
Application.DDEPoke channelNumber, "\StartOfDoc", rangeToPoke
Application.DDETerminate channelNumber