XL: Using the DDERequest Method for System Information

ID: Q133045

The information in this article applies to:

SUMMARY

This article discusses how to use the Visual Basic for Applications DDERequest command to use DDE (dynamic data exchange) to pass information from a specified program to Microsoft Excel.

MORE INFORMATION

Microsoft provides programming examples 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. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact the Microsoft fee-based consulting line at (800) 936-5200. For more information about the support options available from Microsoft, please see the following page on the World Wide Web:

   http://www.microsoft.com/support/supportnet/refguide/

The following macro example starts a second instance of Microsoft Excel, initiates a DDE channel to the new instance of Microsoft Excel with the "system" topic, and uses the DDERequest method to obtain information. The data returned from the DDERequest method is returned as an array.

In this example, a second instance of Microsoft Excel is being used as the second program for the DDE link.

To use this example, enter the following code in a module sheet:

   Sub Get_Info
      ' Starts a second instance of Microsoft Excel.
      Shell("Excel")
      ' Initiates a DDE Channel System topic of Microsoft Excel.
      Chan=Application.DDEInitiate("Excel", "System")
      ' Creates an array called Info that contains all available
      ' system topics for Microsoft Excel.
      Info=Application.DDERequest(Chan, "SysItems")
      ' Displays message box for all of the available
      ' system topics in Microsoft Excel.
      For X=1 to Ubound(Info)
         Msgbox Info(X)
      Next
      ' Terminates the DDE Channel.
      Application.DDETerminate Chan
   End Sub

The system topic of "SysItems" returns a list of available items. Any item returned by "SysItems" can be used as the item argument in the DDERequest method. For Microsoft Excel, the list of available topics consists of the following:

REFERENCES

"Visual Basic User's Guide," version 5.0, pages 209-217

Additional query words: 5.00 5.00c 7.00 8.00 97

Keywords          : kbprg kbdta kbdtacode KbVBA xlwin 
Version           : WINDOWS:5.0,5.0c,7.0,97
Platform          : WINDOWS
Issue type        : kbhowto

Last Reviewed: May 18, 1999