When you have to create a workbook that includes data that is updated in real time, for example, financial data or scientific data, you can now use the RTD worksheet function. In earlier versions of Excel, Dynamic Data Exchange (DDE) is used for that purpose. The RTD function is based on COM technology and provides advantages in robustness, reliability, and convenience. RTD depends on the availability of an RTD server to make the real-time data available to Excel. For more information about how to create an RTD server, see the "References" section.
The RTD function retrieves data from an RTD server for use in the workbook. The function result is updated whenever new data becomes available from the server and the workbook can accept it. The server waits until Excel is idle before updating. This relieves the developer of having to determine whether Excel is available to accept updates. The RTD function differs from other functions in this regard because other functions are updated only when the worksheet is recalculated.
Although the RTD function provides a link to data on a server, it is not the same type of link as references to cells in other worksheets or workbooks. For example, if you use the RTD function in a workbook, you do not receive the Links startup message when you open the workbook, nor can you manage the status of an RTD function through the Edit Links dialog box.
SyntaxThe RTD function uses the following syntax
A string that represents the Program ID of the RTD server installed on the local system. This is typically a COM add-in that is registered by a setup procedure or by using RegSvr32. RealTimeServerProgID is a required argument.
A string that represents the name of the server on which the RTD server is to be run. If the RTD server is run locally, the ServerName should be an empty string ("") or omitted.
- Topic1, [Topic2], ...
Strings that determine the data being retrieved. You can use from one to 28 topics, although only one topic is required.
Using RTDAs an example of the RTD function, consider retrieving information from a server that delivers continuous data for runners in several simultaneous races. Assume that the server is provided as a Dynamic Link Library (DLL) named RaceReport.dll, that it is installed on the user's computer, and that it is registered as a COM add-in by its own setup process. The general form of the RTD function as used with this server might be as follows
Here the user might select a cell and type the following formula in it
In this manner, the same function can be used differently throughout the workbook to retrieve different data from the same server, all of which is updated automatically.
Wrappers to Simplify UseThe RTD function can be used inside user-defined functions (UDFs) in Microsoft Visual Basic for Applications. These then become wrappers for the RTD function. This approach can be useful in shielding users from the details of the RTD server name and ProgID, and in enabling them to focus only on the data that is important to them.
For example, in the previous scenario, the user might be provided with two functions: GetTime(RunnerID) and GetPosition(RunnerID). These functions assume that the user is always dealing with the same server and race number. Therefore the user only has to specify a runner's ID to receive current data on the runner's elapsed time and position, respectively.
CalculationBecause RTD updates data when Excel is idle, it continues to receive information if Excel is in manual calculation mode. In that event, the new data is cached and the current values are used when a manual calculation is performed.
SecurityRTD servers should be digitally signed. If an RTD server is not digitally signed, the server may not load, and a #N/A will be displayed in the cell(s) referencing the RTD server.
For Microsoft Office Excel 2007, you can review security settings by using the Trust Center. This can be accessed by from the Trust Center tab in the Excel Options dialog box.
For Microsoft Office Excel 2003 and in Microsoft Excel 2002, the load behavior can be altered by adjusting the macro security settings in Excel.