Article ID: 174050
Article Last Modified on 7/16/2004
MyComputer\HKEY_CLASSES_ROOT\Excel.Sheet.8\CLSID
Private Sub Command1_Click()
Dim FileCLSID As String
FileCLSID = GetCLSID(Text1.Text)
Label2.Caption = FileCLSID
Select Case FileCLSID
Case EXCEL97
Label1.Caption = "Excel 97"
Case EXCEL95
Label1.Caption = "Excel 95"
Case WORD97
Label1.Caption = "Word 97"
Case WORD95
Label1.Caption = "Word 95"
Case Else
Label1.Caption = "Unknown File Version"
End Select
End Sub
Private Sub Form_Load()
Label1.AutoSize = True
Label2.AutoSize = True
End Sub
Type GUID
B(16) As Byte
End Type
Declare Function GetClassFile Lib "Ole32.DLL" (ByVal lpszFileName _
As String, ByRef pclsid As GUID) As Long
Declare Function StringFromGUID2 Lib "Ole32.DLL" (ByRef rguid _
As GUID, ByVal lpsz As String, ByVal cbMax As Long) As Long
Public Const EXCEL97 As String = _
"{00020820-0000-0000-C000-000000000046}"
Public Const EXCEL95 As String = _
"{00020810-0000-0000-C000-000000000046}"
Public Const WORD97 As String = _
"{00020906-0000-0000-C000-000000000046}"
Public Const WORD95 As String = _
"{00020900-0000-0000-C000-000000000046}"
Function GetCLSID(FileName As String) As String
Dim g As GUID
Dim RetVal As Long
Dim strGUID As String
RetVal = GetClassFile(StrConv(FileName, vbUnicode), g)
strGUID = Space(255)
RetVal = StringFromGUID2(g, strGUID, 255)
strGUID = StrConv(strGUID, vbFromUnicode)
If (InStr(strGUID, Chr(0)) > 0) Then
strGUID = Left(strGUID, InStr(strGUID, Chr(0)) - 1)
End If
GetCLSID = strGUID
End Function
Additional query words: kbVBp kbdsd kbDSupport kbRegistry kbVBp400 kbVBp500 kbVBp600 kbAPI
Keywords: kbhowto KB174050