Reading Serial Data into a Word Document Using DDE
(This example is for 16 bit versions of Word Including Word 2.0 and 6.0)
Steps For Setting Up The
Software Wedge:
1. Select "DDE Server"
from the MODE menu and enter: WinWord as the Application Name and System as
the DDE topic in the dialog box that appears and click the OK button.
2. Select "Input Data Record Structure" from the
DEFINE menu and define the structure of the input records to the Wedge. When you get to
the final Window entitled "Input Record Definition Editor", enter the string: [GRABDATA]
as the "Field Postamble DDE Command" after the last data field that you have
defined. This is a DDE command that will be sent to Word after each data record is
received by the Wedge.
3. Set up the rest of WinWedge parameters and
activate it.
Steps For Setting Up
Word:
When you create a WordBasic macro or subroutine in Word and
save it in the Global macro sheet, the name of the subroutine automatically becomes a
valid Word DDE command. Create a new macro by selecting "Macro" from the TOOLS
menu. When the dialog box appears prompting for a macro name, enter the name: GRABDATA and
then click the button labeled "Create". Enter the following code in the macro
editor window:
Sub MAIN
chan = DDEInitiate("WinWedge",
"COM2") ' open a link to the Wedge
MyData$ = DDERequest$(chan, "Field(1)") ' get the data from the Wedge
DDETerminate chan ' close the link
Insert MyData$ ' enter the data into the open document
InsertPara ' insert a paragraph marker (hard return)
' add your own code here
End Sub
After you are done entering the code select "Close" from the FILE menu to save
the macro. This example sets up the Wedge to issue a
DDE command ([GRABDATA]) to Word after each data record is received from your
serial device. This causes the GRABDATA subroutine to run which then performs a
DDERequest back to the Wedge asking for the data in Field(1) in the Wedge Window. This
data is returned to Word in the variable: MyData$. Once the data from the Wedge is in a
variable, you can do whatever you like with it by including additional code of your own
design. This example simply inserts the text in the MyData$ string variable into the open
document and then inserts a paragraph marker.
The following code fragment shows how to
transmit a string out the serial port from Word:
channel = DDEInitiate("WinWedge",
"COM2") ' open a link to the Wedge
DDEExecute channel, "[Sendout('Test',13)]" ' transmit "Test"
and a carriage return
DDETerminate channel ' close the link
|