Hallo Ralph, leider kann ich mit deinem Beitrag wenig anfangen.
For Each y In Application.VBE.VBProjects hatte ich bereits aber etwas anders, doch mit dem gleichen Resultat.
Mit der 2. Bemerkung kann ich als Anfänger nicht viel anfangen.
Nun würde ich gerne mit einer Schlaufe für alle gefundenen Projekte die Module auflisten und dann alle Makros rausschreiben.
Vielleicht an anderer Ansatz. Ich habe von 2 KI's 2 verschiedenene Makros erhalten, die vermutlich in etwa das machen, was ich brauche. Leider laufen beide nicht. Vermutlich muss ich noch die Bibliothek "Microsoft VBA ActiveX Library" oder eine andere in den Exras-Verweisen anklicken - doch ich finde sie nicht in der Auflistung.
Hier die beiden Makro - ich bin darauf angewiesen, dass mir jemand den Code anpasst, damit ich dann weitere Aenderungen machen (zB nach einem bestimmten Makro mit instr() suchen kann.
Sub GetAllMacros() 'von Google Genius KI 240724
'"Microsoft VBA ActiveX Library" einbinden (Markos > Extras > Verweise
Dim doc As Document
Dim vbaProj As VBProject
Dim vbaMod As Module
Dim macroName As String
For Each doc In Documents
Set vbaProj = doc.VBAProject
For Each vbaMod In vbaProj.Modules
For Each macroName In vbaMod.Names
Debug.Print macroName
Next macroName
Next vbaMod
Next doc
End Sub
----------------------------------------------------------------------------------------------------------------------------------------------
'Um alle Makros in einem Word-Dokument aufzulisten, können Sie den folgenden VBA-Code verwenden:
Sub ListAllMacros()
Dim vbComp As VBComponent
Dim strMsg As String, codeMod
'Dim codeMod As Modele 'PE
For Each vbComp In ThisDocument.VBProject.VBComponents
If vbComp.Type = 1 Then '1 = vbext_ct_StdModule
For Each codeMod In vbComp.CodeModule.CodePane.CodeModule '.CodeModule '.CodePane.CodeModules
If Not codeMod = vbNullString Then
strMsg = strMsg & vbComp.Name & ": " & codeMod & vbCrLf
End If
Next codeMod
Stop
End If
Next vbComp
If strMsg = vbNullString Then
MsgBox "Es sind keine Makros im Dokument vorhanden.", vbInformation, "Macro Listing"
Else
MsgBox "Alle Makros im Dokument: " & vbCrLf & vbCrLf & strMsg, vbInformation, "Macro Listing"
End If
End Sub
'Um dieses Makro auszuführen, öffnen Sie das Word-Dokument, in dem Sie die Makros auflisten möchten, und führen Sie das Makro "ListAllMacros" aus. Es wird eine Meldung angezeigt, die alle Makros im Dokument auflistet. Wenn keine Makros im Dokument vorhanden sind, wird eine entsprechende Meldung angezeigt.
'Generiert von der AI Chat Android App.
vielen Dank
|