AW: ...Wenn man s'nicht selber macht...
29.07.2010 18:07:10
ransi
HAllo
In der Ruhe liegt die Kraft.
bequemer durchzuforschen?
DAs war mißverständlich.
Erst wollte ich dir sowas anbieten:
' **********************************************************************
' Modul: Tabelle2 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************
Option Explicit
Public Sub Zeig_mir_alles()
Dim bibl As Object
Dim i As Integer
With Sheets("Tabelle2")
.Cells.Clear
'Überschriften setzen
.[a1] = "Addins:"
.[a2] = "Title:"
.[b2] = "Fullname:"
.[c2] = "Name"
.[d2] = "Installed ?"
With .Range("a1:d2")
.Font.Size = 12
.Font.Bold = True
End With
'Infos zu Addins ausgeben
For i = 1 To AddIns.Count
.Cells(i + 2, 1) = AddIns(i).Title
.Cells(i + 2, 2) = AddIns(i).FullName
.Cells(i + 2, 3) = AddIns(i).Name
.Cells(i + 2, 4) = AddIns(i).Installed
Next
'Überschriften von Verweisen setzen
i = .Range("A65536").End(xlUp).Row + 3
.Cells(i, 1).Value = "Verweise"
.Cells(i + 1, 1) = "Description:"
.Cells(i + 1, 2) = "fullpath:"
.Cells(i + 1, 3) = "Name:"
.Cells(i + 1, 4) = "GUID:= "
With .Range(.Cells(i, 1), .Cells(i + 1, 4))
.Font.Size = 12
.Font.Bold = True
End With
On Error Resume Next
'Infos zu gesetzten Verweisen ausgeben
i = .Range("A65536").End(xlUp).Row + 1
For Each bibl In Application.VBE.ActiveVBProject.References
.Cells(i, 1) = bibl.Description
.Cells(i, 2) = bibl.fullpath
.Cells(i, 3) = bibl.Name
.Cells(i, 4) = bibl.GUID
i = i + 1
Next
.Columns("a:d").AutoFit
End With
End Sub
Alternativ dann sowas:
Option Explicit
Public Sub test()
Const HKEY_CLASSES_ROOT = &H80000000
Dim arr
Dim L As Long
Dim lstProgID(1 To 65536, 1 To 2), objReg, strProgID, strSubKey, subKey, subKeys()
Set objReg = GetObject("winmgmts://./root/default:StdRegProv")
L = 1
objReg.EnumKey HKEY_CLASSES_ROOT, "CLSID", subKeys
For Each subKey In subKeys
strSubKey = "CLSID\" & subKey & "\ProgID"
objReg.GetStringValue HKEY_CLASSES_ROOT, strSubKey, "", strProgID
' If Not IsNull(strProgID) Then
lstProgID(L, 1) = strProgID
lstProgID(L, 2) = subKey
L = L + 1
' End If
Next
Range("A:B") = lstProgID
End Sub
ransi