DDE.SEND Function
Syntax
Arguments
- Application
The name of an application that is currently running in another window.
- Topic
The name of a topic that the application recognizes.
- Item
The name of a data item the application recognizes.
- Data
Contains the information to be sent to the application.
- clipboard_format
Numeric
Description
Supply data to another specified application for topic.
Discussion
The DDE.SEND() method establishes dynamic data exchange (DDE) with another active Windows application and then sends an item of information to that application. The Application_Name parameter is a character string containing the name of an application that is currently running in another window. It is usually the name of an .EXE file (without the .EXE extension or path) that can hold a DDE conversation. The contents of the Topic_String should be the name of a topic the application recognizes. The choice of valid topic names depends upon the application. For applications that operate on documents or tables, the topic usually includes the names for those files. The Item parameter is a character string containing the name of a data item the application recognizes. For instance, Microsoft Excel recognizes the data item "R1C1" as a row and column identifier. The Data_String parameter contains the information to be sent to the application. To establish a DDE connection, both Alpha Anywhere and the other Windows application must be running at the same time. It is good practice to include the sys_shell() function at the start of a DDE script to automatically start up the other application before trying to initiate the DDE conversation.
Example
Send information to the cell at row 1, column 1 of a Microsoft Excel worksheet.
sys_shell("c:\excel\excel.exe") dde.send("Excel", "Sheet1", "R1C1", "1356")
This script sends the contents of the records and fields in the specified table to an Excel spreadsheet.
dim data as C dim l_val as L sys_shell("c:\excel\excel.exe") filename = ui_get_file("Table to send? ", "Tables(*.DBF)", "", "X") if (filename = "") then end end if tbl = table.open(filename) number_of_fields = tbl.fields_get() row = 1 tbl.fetch_first() while .NOT. tbl.fetch_eof() for col = 1 TO number_of_fields fld = tbl.field_get(col) type = field.type_get() value = field.value_get() select case type = "d" data = dtoc(value) case type = "n" data = str(value) case type = "l" if value then data = "T" else data = "F" end IF case else data = value end select cell = "R" + alltrim(str(row) ) + "C" + alltrim(str(col) ) dde.send("Excel", "Sheet1", cell, data) next col row = row + 1 tbl.fetch_next() end while
See Also