Ich brauche Hilfe inIterieren nicht registrierten Add-Ins (XLA)
- herauszufinden, wie durch aktuell geöffneten Excel-Add-In-Dateien (XLA) iterieren, die in Excel nicht registriert sind, unter Verwendung der
Tools > Add-ins
Menüpfad. - genauer, ich interessiere mich für jede Arbeitsmappe, die nicht im Add-In-Dialogfeld angezeigt wird, aber
ThisWorkbook.IsAddin = True
hat.
Aufzeigen der Ausgabe:
eine Schleife durch Arbeitsmappe Versuch wie folgt Arbeitsmappe nicht bekommen mit .AddIn = True
:
Dim book As Excel.Workbook
For Each book In Application.Workbooks
Debug.Print book.Name
Next book
Looping durch Add-Ins nicht-Add-Ins nicht erhalten, sind nicht registriert:
Dim addin As Excel.AddIn
For Each addin In Application.AddIns
Debug.Print addin.Name
Next addin
Looping durch die VBProjects-Sammlung funktioniert, aber nur, wenn der Benutzer speziell hat größte Zugriff auf das Visual Basic-Projekt in den Makro-Sicherheitseinstellungen - die selten ist:
Dim vbproj As Object
For Each vbproj In Application.VBE.VBProjects
Debug.Print vbproj.Filename
Next vbproj
Wenn jedoch der Name der Arbeitsmappe bekannt ist, kann die Arbeitsmappe direkt unabhängig von referenziert werden, ob es eine Add-in oder nicht:
Dim book As Excel.Workbook
Set book = Application.Workbooks("add-in.xla")
Aber wie zum Teufel Bezug auf diese Arbeitsmappe zu erhalten, wenn der Name nicht bekannt ist, und Makrosicherheitseinstellungen des Benutzers können nicht geltend gemacht werden?
Danke! Das wäre vor 4 Jahren wirklich nützlich gewesen: P Akzeptierte deine Antwort, weil die Antwort, die ich angenommen hatte, einfach zu hackig war. – jevakallio
Ja, ich merkte, dass es ein bisschen spät war. :-) Aber ich lief auf das gleiche Problem und dachte, es könnte jemand anderem helfen. –