Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1168to1172
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Liste aller möglicher verfügbare Verweise

Liste aller möglicher verfügbare Verweise
Yal
Hallo,
kennt jemand eine Lösung, um diese lästige Verweise-Liste ("Extras >> Verweise...") bequemer durchzuforschen?
Etwa das gesamte Inhalt per VBA durchzulesen? oder ähnlliches? oder nur einen richtungsweisende Tipp?
Ich finde dazu nirgends was...
Vielen Dank
Yal

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
...Wenn man s'nicht selber macht...
29.07.2010 17:50:29
Yal
Folgende Coding listet alle *.dll, *ocx, die in den Registry ein GUID als CLSID eingetragen haben.
Somit alle Classen, die man als Verweis unter "Extras >> Verweise..." auswählen kann.
Sind das richtig alle?
Sub VerweiseDateien_lesen()
'Mit VerWeis auf "Registration Manipulation Classes" - C:\WINDOWS\system32\REGOBJ.dll
Dim Coll As New Collection
Dim K As RegKey
Dim K1 As RegKey
Dim S
On Error Resume Next
For Each K In RegKeyFromString("\HKEY_CLASSES_ROOT").SubKeys
For Each K1 In K.SubKeys
If K1.Name = "CLSID" Then
S = RegKeyFromString("\HKEY_CLASSES_ROOT\CLSID\" & K1.Value & "\InPRocServer32") _
.Value
Coll.Add S, S
End If
Next K1
Next K
For Each S In Coll
Debug.Print S
Next S
End Sub
in nächsten Schritt werde ich diese *.dll, usw. verweisen("Application.References.AddFromFile"), um die Eigenschaft zu entnehmen.
Anzeige
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
Anzeige
Verweis-Liste
30.07.2010 08:58:19
Anton
Hallo ,
ich glaube , das ist falscher Schlüssel:
Code:

Public Sub test()  
  Const HKEY_CLASSES_ROOT = &H80000000
  Dim arr
  Dim L As Long  
  Dim lstProgID(1 To 65536, 1 To 3), objReg, strProgID, strSubKey, subKey, subKeys()  
  Set objReg = GetObject("winmgmts://./root/default:StdRegProv")  
  L = 1
  objReg.EnumKey HKEY_CLASSES_ROOT, "TypeLib", subKeys
  For Each subKey In subKeys  
    strSubKey = "TypeLib\" & subKey
    objReg.EnumKey HKEY_CLASSES_ROOT, strSubKey, subKeys1
    For Each subKey1 In subKeys1  
      strSubKey1 = strSubKey & "\" & subKey1
      objReg.GetStringValue HKEY_CLASSES_ROOT, strSubKey1, "", strProgID  
      objReg.GetStringValue HKEY_CLASSES_ROOT, strSubKey1 & "\0\win32", "", strPfad  
      If strPfad <> "" Then  
        lstProgID(L, 1) = strProgID
        lstProgID(L, 2) = subKey
        lstProgID(L, 3) = strPfad
        L = L + 1
      End If  
    Next
  Next
  Range("A:C") = lstProgID
  Range("A:C").Sort Key1:=Range("A1"), Order1:=xlAscending  
End Sub  


mfg Anton
Anzeige
AW: Verweis-Liste... Woaw!
02.08.2010 10:25:36
Yal
@Ransi & @Anton: Jetzt sehe ich, warum ich Hemmung habe, mich höher als "VBA gut" einzustuffen!
Respekt, da steckt Wissen drin...
@Ransi: ich war nicht ungeduldig, aber auch nicht untätig wartend ;-)
Ich werde leider ein Bischen Zeit brauchen, um die Lösung zu erfoschen. Es bringt mich auf alle Fälle weiter. Vielen Dank.
Yal

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige