
Option Explicit
'// Lists Dll names and Version to a worksheet
Sub ListDllVersions()
Dim Fso As Object
Dim SysFolder As Object
Dim SysFile
Dim Ext As String
Dim DllVersion
Dim x As Integer
Set Fso = CreateObject("Scripting.FileSystemObject")
'// Special folder = Sytem Folder that contains libraries, fonts, and device drivers
Set SysFolder = Fso.GetSpecialFolder(1)
x = 1
For Each SysFile In SysFolder.Files
Ext = LCase(Fso.GetExtensionName(SysFile.Name))
If Ext = "dll" Then
DllVersion = Fso.GetFileVersion(SysFile.Path)
Cells(x, 1) = SysFile.Name
Cells(x, 2) = DllVersion
x = x + 1
End If
Next
Set Fso = Nothing
Set SysFolder = Nothing
End Sub
'// Asks user for Dll
Sub GetDllVersion()
Dim Fso As Object
Dim SysFile
Dim Ext As String
Dim DllVersion
Set Fso = CreateObject("Scripting.FileSystemObject")
SysFile = Application.GetOpenFilename("Sys Files *.dll,*.dll")
Ext = LCase(Fso.GetExtensionName(SysFile))
If Ext = "dll" Then
DllVersion = Fso.GetFileVersion(SysFile)
MsgBox SysFile & " Dll version = " & DllVersion
End If
Set Fso = Nothing
End Sub