Seite 1 von 1

Erstellen einer Makro-Liste

Verfasst: Mo 25. Nov 2024, 12:01
von Proma
Hallo liebe Experten,

zur Erleichterung wiederkehrender Arbeiten am PC habe ich mir immer wieder Makros angelegt und diese in verschiedenen Calc-Dokumenten abgelegt. Innerhalb der letzten Monate sind da doch einige Makros zusammengekommen und es fängt an, unübersichtlich zu werden.

Nun möchte ich mir gerne in einer Calc-Tabelle eine Liste erstellen, in der ich die Bibliotheknamen, die Namen der jeweils dort enthaltenen Makros sowie ein paar erklärende Worte zusammenfasse. Meinem Naturell entsprechend (ich bin ein fauler Hund) würde ich mir gerne - soweit möglich - das Abtippen von Bibliothek- und Makronamen ersparen und diese Angaben von einem Makro auslesen und übertragen lassen. Wie gehe ich dazu am besten vor?

Meine Ausstattung:
Windows 11, LibreOffice 24.2.6.2 (X86_64)

Vielen Dank vorab und liebe Grüße
vom Martin

Re: Erstellen einer Makro-Liste

Verfasst: Mo 25. Nov 2024, 17:18
von F3K Total
Moin,
das geht nicht so einfach, denn ein Modul ist in Libreoffice Starbasic ein String, es wird nicht weiter nach enthaltenen Makros unterschieden.
Was geht, ist das gesamte Modul einzulesen und z.B. in eine Calc Zelle zu schreiben, dann mußt du da die einzelnen Namen der Makros selbst herausfischen.
Anbei eine Beispieldatei, die alle Dateien innerhalb eines Ordners nacheinander lädt, dann alle Bibliotheken, mit ihren Modulen untereinander in eine Calctabelle schreibt.

Viel Spaß damit.

Gruß R

Re: Erstellen einer Makro-Liste

Verfasst: Di 26. Nov 2024, 09:40
von Proma
Hallo F3KTotal,

das ist ja phantastisch, das läuft wie am Schnürchen und macht genau das, was ich brauche. Großartig! Vielen Dank für Deine Mühe und die schnelle Umsetzung! Ich werde Dich in mein Nachtgebet einschließen.

Vielen Dank nochmal, damit ist mir sehr geholfen. Liebe Grüße
vom Martin

Re: Erstellen einer Makro-Liste

Verfasst: Di 7. Jan 2025, 19:44
von Proma
Hallo liebe Experten und liebe Hilfe suchende Kollegen,

Euch allen erstmal ein gutes neues Jahr, ich hoffe, es ist am 7. Januar noch nicht zu spät, aber - so habe ich es zumindest schon gehört - gute Wünsche kommen immer gelegen!

Viel Zeit ist übers Land gezogen seit meiner Anfrage zu diesem Thema und F3K's Antwort dazu. Leider bin ich, bedingt durch den Vorweihnachts-, Weihnachts- und Jahreswechsel-Stress, erst vor wenigen Tagen dazu gekommen, auf Grundlage der von F3K hier eingestellten Beispiel-Datei ein paar kleine Prozeduren zu basteln, mit deren Hilfe ich nun die Makro-Namen aus den LibreOffice-Dokumenten eines Ordners auslesen und in eine Liste schreiben kann.

Und was ein "richtiger" Martin ist, der teilt nicht nur seinen Mantel sondern natürlich auch seinen Basic-Code; das Dokument zum Erstellen der Makro-Liste(n) habe ich hochgeladen, vielleicht kanns ja jemand brauchen. An dieser Stelle nochmal ganz herzlichen Dank an F3K für die Initial-Zündung!

Liebe Grüße
vom Martin

Nachtrag:
Das Makro läuft unter Windows 11 und LO 24.2, möglicherweise auch mit früheren Versionen; bitte einfach probieren!

Re: Erstellen einer Makro-Liste

Verfasst: So 9. Feb 2025, 07:13
von herz4
Guten Morgen F3K Total und Proma,

ich danke Euch sowohl für die Frage als auch insbesondere für die angebotenen Lösungen.

Der "Unordnung" in meinen Basic-Modulen versuchte ich schon seit geraumer Zeit wenigstens dadurch beizukommen, dass ich irgendwann anfing, in jedem (neuen) Makro intern einen String zu definieren, mit dessen Hilfe ich vor allem bei späteren Fehlermeldungen auf das betreffende Modul & Makro verwiesen wurde, indem die Fehlermeldung damit und eben nicht nur mit der Basiczeilennummer versorgt wurde, ich so schneller die Fehlerursache finden kann.

Aber Eure Arbeit eröffnet mir da ganz neue, - innovative - Ansätze.

Herz4lichen Dank

Re: Erstellen einer Makro-Liste

Verfasst: So 9. Feb 2025, 12:19
von Proma
Hallo herz4,

danke für Dein FeedBack!
herz4 hat geschrieben:
So 9. Feb 2025, 07:13
...bei späteren Fehlermeldungen auf das betreffende Modul & Makro verwiesen...
So etwas steht auch auf meiner ToDo-Liste. Bin zwar noch nicht dazu gekommen, es umzusetzen, es würde mich aber sehr interessieren, wie Du dieses Problem angehst bzw. vielleicht schon gelöst hast.

Schönen Sonntag und liebe Grüße
vom Martin

Re: Erstellen einer Makro-Liste

Verfasst: So 9. Feb 2025, 17:12
von herz4
Hallo Proma,

meine (jüngeren) Makros sehen nach einer Vorlage so aus:

Code: Alles auswählen

Sub VORLAGE1

MAKROBEZ = "dbtele1.odb.Bibo13.Modul007.VORLAGE1"

On Error GoTo Fehler

' hier kommt das Script rein

Exit Sub
Fehler: FEHLMELD (MAKROBEZ)
End Sub
"FEHLMELD" wird in einem zentralen Makro, nicht im Dokument, bei mir unter "Meine Makros & Dialoge" wie folgt abgearbeitet:

Code: Alles auswählen

Sub FEHLMELD (MAKROBEZ AS String)

MsgBox "Fehler " & ERR & ": " & ERROR(ERR) + CHR(13) + "In Zeile " + ERL 
             +" von " + MAKROBEZ + CHR(13) + NOW , 16 , MAKROBEZ

End Sub
Dann zeigt die MsgBox den Fehler, die Zeilennummer und eben den "Wohnort" des Makros an. Bitte frage nach, wenn ich mich unverständlich ausdrückte. Viel Erfolg!

Re: Erstellen einer Makro-Liste

Verfasst: So 9. Feb 2025, 20:07
von Proma
Hallo herz4,

vielen Dank für das Beispiel einer "erkennungsdienstlichen Erfassung" des den Fehler auslösenden Makros. Das Prinzip gefällt mir recht gut, ich werde es nach ein paar kleineren Anpassungen so übernehmen und hoffe, Du bist einverstanden, wenn ich Dich - als Gegenleistung für Deine (c)- Rechte - auf ein virtuelles Bier einlade.

Prost, auf einen guten Einstieg in die neue Woche und liebe Grüße
vom Martin