Formatierungsmakro bricht mit Laufzeitfehler ab

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

eisbaer11
*
Beiträge: 15
Registriert: Mo, 14.11.2005 10:24

Formatierungsmakro bricht mit Laufzeitfehler ab

Beitrag von eisbaer11 » Fr, 06.01.2017 17:38

Hallo liebe Foriker,

wieder einmal bin ich auf eure Hilfe angewiesen. Folgendes Problem.
Für eine Tierausstellung soll ein Katalog erstellt werden. Ein Teil davon wird aus der Erfassungssoftware als rtf.file zur Verfügung gestellt. Da mich das Layout etc. nicht überzeugt, übernehme ich den Haupttext in ein Writerdokument. Nun möchte ich fast die ganze Formatierung per Makro durchführen lassen. Ich habe die jeweiligen SUB-Teile einzeln in separaten Dokumenten gemacht und ausprobiert, bis sie meinen Wünschen entsprachen. Nun habe ich alle Subs in ein Dokument gemacht und eine Hauptroutine dazu gemacht, welche die einelnen Formatierungs-SUBs aufruft. Aber egal ob ich nun die Hauptrotine aufrufe oder die Subs manuell einzeln aufrufe gibt es plötzlich die angehängte Fehlermeldung.
Fehlermeldung.pdf
(169.77 KiB) 32-mal heruntergeladen
Ich mache auch mal die Dokumente mit dazu. Einmal wo alle Makros drin sind und einmal ein Beispiel wo das bewusste Makro allein vorhanden ist und funktioniert. Ich weiß, dass der Script sicher an der einen oder anderen Stelle besser geht. Aber ich schreibe sowas nur sehr selten.
Katalog mit funktionierenden Makros.odt
(21.06 KiB) 32-mal heruntergeladen
Makrotest Rasseformatierung - ok.odt
(20.75 KiB) 31-mal heruntergeladen
Ich würde mich über einen Tipp zur Fehlerbeseitigung freuen.
Volkmar
Viele Grüße
Volkmar, der mit Oo 4.1.3 unter Win7 arbeitet

Benutzeravatar
balu
********
Beiträge: 3543
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Formatierungsmakro bricht mit Laufzeitfehler ab

Beitrag von balu » Fr, 06.01.2017 18:45

Hallo Volkmar,

ja ja! Baum vor lauter Wald nicht mehr gesehen. :lol:
War mir aber auch erst so ergangen. :?

Du hast in der Problemdatei das hier drin.

Code: Alles auswählen

document = ThisComponent
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
Das ist aber Falsch.
Richtig ist nämlich das hier.

Code: Alles auswählen

document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
 
Denke bitte daran das Du mehrmals ändern musst.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D

Antworten

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 14 Gäste