Hallo zusammen, ich kenne mich leider im Word-VBA schlecht aus
Ich habe Office 2019
Ich möchte eine Suchfunktion schreiben, mit der ich ein Makro finden kann, dessen Name ich nicht genau weiss
zB "save" zeigt alle Makros die im Namen "save" enthalten und in welchem Modul sie vorhanden sind.
hier habe ich schon mal einen Anfang.
Ich habe den Modulnamen, die Anzahl zeilen, kann auch eine Schlaufe machen, doch die einzelne Zeile kann ich nicht einlesen.
Ich hoffe, dass mir jemand weiterhelfen kann - ich habe viele Makros, die ich kaum finde.
Set x = ThisDocument 'Normal.dotm
For Each y In x.VBProject.vbcomponents
sMod = sMod & y.Name & vbLf
j = wdPropertyLines '.countLines '.Count
xx = y.Name '.CountOfLines
'Stop
xx = y.codemodule.countoflines 'Count 'lines Ne240501 gibt Zeilen aus
Stop
'Excel MsgBox ThisWorkbook.VBProject.VBComponents("modul1").CodeModule.CountOfLines
MsgBox sMod & " hat " & j & " Zeilen"
'Stop
'>>>>>>>>>>>>>>>>>>>>>
For z = 1 To y.codemodule.countoflines
Stop
'sTmp = y.codemodule.Lines(z)'Fehler
sTmp = .ProcOfLine(z, 0)
Stop
'if .lines
'sMak = .ProcOfLine(z, 0) 'von Excel, .Vartype
'sAll = .Lines(1, .CountOfLines) 'von Excel
Next z
' MsgBox y.Name & vbLf & y.Lines
'z = .Count.Lines 'funktioniert nicht - habe im Web keinen Code gefunden
' For z = 1 To .Lines.Count 'CountOfLines '10
'' Stop
' sMak = .ProcOfLine(z, 0)
' If Trim(sMak) <> "" And InStr(sOut, sMak) = 0 And InStr(LCase(sMak), LCase(sSucMak)) > 0 Then
' sTmp = "Ausgabe: Modul = >" & y.Name & "< * Makro = >" & sSucMak & "<"
' sOut = sOut & sMak & vbLf
' End If
' Next z
With y
'MsgBox y.Name & vbLf & vbLf & sOut
'Stop
End With
Next y
vielen Dank Peter
|