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