Hallo Mau,
Wo bekommt man im Internet eine genaue Erklärung der Aufgabe und Syntax der verschiedenen von dir verwendeten Befehle/Funktionen? In einem Beitrag zu diesem Thema gab lessger den Link
http://www.dannenhoefer.de/faqstarbasic ... tools.html an; der hat aber den Mangel, dass er keine Suchfunktion hat, und die Untertitel geben nicht genügend deutliche Hinweise, was man wo findet. Außerdem werden Syntax und Argumente nicht genau genug erläutert.
ich fürchte, "das" Lehrbuch zu Starbasic und LO Programmierung wirst Du nicht finden. Ich selbst fand den Dannenhöfer als Starthilfe schon sehr nützlich, und suchen kannst Du per Google auch bei ihm.
Grundsätzlich ist es halt eine Frage, wieviel Du schon kannst. Brauchst Du erst eine Einführung in das spezielle Basic? Eine knappe Einführung in Starbasic gibt es z.B. hier:
https://wiki.openoffice.org/wiki/DE/Mak ... c_Tutorial oder (schon etwas bejahrt, aber immer noch gut als Einführung)
http://toolittle.org/downloads/StarOffi ... torial.pdf.
Als nächsten Schritt mußt Du das LO API lernen. Dazu solltest Du zumindest ein Grundverständnis von objekt-orientierter Programmierung haben. Du solltest Dir auch klar darüber sein, daß das API seeeeehr umfangreich und mächtig ist und es da einiges zu Lernen gibt. Nichts für mal schnell und nebenbei.
Am besten geht es wirklich mit Beispielen und Ausprobieren. Auch der Makrorekorder, den Du für Deine Makros benutzt hast, ist keine dumme Idee. Wie aller generierter Code, ist er halt oft ein bißchen umständlich, aber immerhin findet man raus wie etwas geht - oft schneller als per API Doku.
Die automatisch erzeugten Makros fangen alle anders an als deine (im Anhang findest du die Programmzeilen meines [automatisch erzeugten] Ausgangsmakros). Ich möchte darauf aufbauen und entsprechend deiner Programmierung umarbeiten. (Es sei denn, du kannst mir erklären, warum die nicht braucht.)
Es geht dabei um die Zeilen in meinem Ausgangsmakro unterhalb der ersten beiden rem-Zeilen. Ab der dritten rem-Zeile läuft ja mit entsprechenden Abänderungen das gleiche ab wie im Ausgangsmakro.
Ja, da sind wir schon mittendrin in den Kozepten des API. Der Makrorekorder-Code nutzt einen Dispatcher, dem ein Befehl mitgegeben wird, und der Dispatcher ruft dann wieder eine Routine auf, um den Befehl auszuführen. Die Zeile
Code: Alles auswählen
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
erzeugt diesen Dispatcher, der etwas weiter unten dann benutzt wird.
Mikele nutzt das LO API direkt zum Speichern eines Dokuments, ohne den Umweg über den Dispatcher. Er braucht nur einen Verweis auf das aktive Dokument, und das macht er über
Mikele macht genau das Gleiche wie Dein Makro, nur einfacher. Er hätte genauso gut allerdings auch Deine aufgezeichneten Makros abändern können.
Grüße
Gerhard