🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Erstellen einer Makro-Liste

Alles zur Programmierung im LibreOffice.
Antworten
Proma
Beiträge: 37
Registriert: Di 24. Sep 2024, 16:53

Erstellen einer Makro-Liste

Beitrag von Proma » Mo 25. Nov 2024, 12:01

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

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Erstellen einer Makro-Liste

Beitrag von F3K Total » Mo 25. Nov 2024, 17:18

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
Dateianhänge
BASIC_LIBRARIES_MODULE_EINLESEN.ods
(13.8 KiB) 235-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO

Proma
Beiträge: 37
Registriert: Di 24. Sep 2024, 16:53

Re: Erstellen einer Makro-Liste

Beitrag von Proma » Di 26. Nov 2024, 09:40

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

Proma
Beiträge: 37
Registriert: Di 24. Sep 2024, 16:53

Re: Erstellen einer Makro-Liste

Beitrag von Proma » Di 7. Jan 2025, 19:44

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!
Dateianhänge
MacList_Forum.ods
(22.59 KiB) 165-mal heruntergeladen

herz4
Beiträge: 66
Registriert: Sa 17. Dez 2016, 16:11

Re: Erstellen einer Makro-Liste

Beitrag von herz4 » So 9. Feb 2025, 07:13

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
:? 2025-02-09 Linux Mint 20.1 64bit Ulyssa base: Ubuntu 20.04 focal, Cinnamon 4.8.6, Linux-Kernel 6.8, LO Version: 6.4.7.2 Build-ID: 1:6.4.7-0ubuntu0.20.04.9, HSQL Database Engine 2.5.0 Server/extern mit org.hsqldb.jdbcDriver

Proma
Beiträge: 37
Registriert: Di 24. Sep 2024, 16:53

Re: Erstellen einer Makro-Liste

Beitrag von Proma » So 9. Feb 2025, 12:19

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

herz4
Beiträge: 66
Registriert: Sa 17. Dez 2016, 16:11

Re: Erstellen einer Makro-Liste

Beitrag von herz4 » So 9. Feb 2025, 17:12

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!
:? 2025-02-09 Linux Mint 20.1 64bit Ulyssa base: Ubuntu 20.04 focal, Cinnamon 4.8.6, Linux-Kernel 6.8, LO Version: 6.4.7.2 Build-ID: 1:6.4.7-0ubuntu0.20.04.9, HSQL Database Engine 2.5.0 Server/extern mit org.hsqldb.jdbcDriver

Proma
Beiträge: 37
Registriert: Di 24. Sep 2024, 16:53

Re: Erstellen einer Makro-Liste

Beitrag von Proma » So 9. Feb 2025, 20:07

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


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten