XL: Determining Which DLLs Are Registered

Last reviewed: September 2, 1997
Article ID: Q108002
The information in this article applies to:
  • Microsoft Excel for Windows, versions 5.0, 5.0c
  • Microsoft Excel for Windows 95, versions 7.0, 7.0a
  • Microsoft Excel 97 for Windows

SUMMARY

In Microsoft Excel, to determine which DLLs are registered, you can do either of the following:

  • Click "About Microsoft Excel" on the Help menu to display a list of all DLLs currently registered on your system.

    NOTE: Microsoft System Info is a Setup option. If it is not available on your system, rerun Setup, click the Complete/Custom button, select the Tools option, and select the System Information Checking option.

    -or-

  • Use a Visual Basic statement to return a list of all the DLLs and XLLs that provide functions registered in Microsoft Excel.

To use Microsoft System Info to display a list of registered DLLs

  1. On the Help menu, click About Microsoft Excel.

  2. Click the System Info button.

  3. From the Choose a Category list, select System DLLs.

The Microsoft System Info dialog box displays a list of all registered DLLs, indicating the DLL filename, version, date, size in bytes, and displays the word "Yes" next to each DLL that is currently in memory.

To use a Visual Basic procedure

You can use the RegisteredFunctions property to return an array of every Microsoft Excel function that is provided by DLLs and other code resources, along with the name of the associated file.

Microsoft provides examples of Visual Basic for Applications procedures 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. The Visual Basic procedures in this article are provided 'as is' and Microsoft does not guarantee that they can be used in all situations. While Microsoft support engineers can help explain the functionality of a particular macro, they will not modify these examples to provide added functionality, nor will they help you construct macros to meet your specific needs. If you have limited programming experience, you may want to consult one of the Microsoft Solution Providers. Solution Providers offer a wide range of fee-based services, including creating custom macros. For more information about Microsoft Solution Providers, call Microsoft Customer Information Service at (800) 426-9400.

The following example code creates a three-column array of all registered functions in Microsoft Excel, where column 1 displays the name of the DLL or code resource; column 2 displays the name of the procedure in the DLL or code resource; and column 3 displays strings specifying the data types of the return values, and the number and data types of the arguments:

Sub GenerateDLLList()
   theArray = Application.RegisteredFunctions
      If IsNull(theArray) Then
         MsgBox "No registered functions"
      Else
      For i = 1 To UBound(theArray)
         For j = 1 To 3
            Cells(i, j).Formula = theArray(i, j)
         Next j
      Next i
   End If
End Sub

If you need to generate a list of all DLLs on your system, not just the ones used by Microsoft Excel, you can use the following code to export the System Info information (see above) to a text file named Msinfo.txt, saved to your \Windows folder:

   Application.SendKeys "%h"
   Application.SendKeys "a"
   Application.SendKeys "%s"
   Application.SendKeys "%s"
   Application.SendKeys "{ESC}"
   Application.SendKeys "{ESC}"
   Application.SendKeys "{ESC}"

After saving Msinfo.txt, your macro can then open the file and access the DLL registration information contained in Column A, under the System DLLs heading.


Additional query words: 5.00 7.00 8.00 XL97
Keywords : kbprg PgmOthr xlvbahowto kbusage
Version : 5.00 5.00c 7.00 7.00a 97
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 2, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.