Using the DDERequest Method for System Information (133045)



The information in this article applies to:

  • Microsoft Excel 97 for Windows
  • Microsoft Excel for Windows 95
  • Microsoft Excel for Windows 5.0

This article was previously published under Q133045

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. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers 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 requirements. 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:

  • SysItems
  • Topics
  • Status
  • Formats
  • Selection
  • Protocols (Microsoft Excel 97 only)
  • EditEnvItems (Microsoft Excel 97 only)

REFERENCES

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

Modification Type:MinorLast Reviewed:10/10/2006
Keywords:kbdtacode kbhowto kbProgramming KB133045