Makro für Formatvorlagen aufzeichnen

Das Textverarbeitungsprogramm

Moderator: Moderatoren

Jonny5K
*
Beiträge: 11
Registriert: Mo, 26.03.2007 17:59

Makro für Formatvorlagen aufzeichnen

Beitrag von Jonny5K »

Hallo,

ich habe ein Problem mit dem Aufzeichnen von 2 Makros unter OpenOffice.

1.
Wenn ich unter „Format -> Zeichen“ auf der Karteikarte „Schrifteffekt“ die Checkbox „Ausgeblendet“ aktiviere, wird dies in dem von mir auf gezeichneten Makro ignoriert.

Hier mal ein Codebeispiel, indem ich zum einen die Checkbox „Ausgeblendet“ aktiviert habe und die Checkbox „Blinkend“:

Code: Alles auswählen

.
sub VerbergenTest
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Flash"
args1(0).Value = true

dispatcher.executeDispatch(document, ".uno:Flash", "", 0, args1())

end sub
Und wie man sieht wird dabei nur die Checkbox „Blinkend“ berücksichtigt. Aber nicht die von mit gewollte Checkbox „Ausgeblendet“.


2.
Wenn ich ein Makro aufzeichne, mit dem ich eine neue Formatvorlage anlege bzw. eine bestehende Vorlage (z.B. Überschrift1) ändere, und dabei dann auch schon z.B. Schriftgröße, Schriftschnitt und Schriftgrad festlege, wird dies im Makro ebenfalls ignoriert.

Hier ein Beispiel, in dem ich auf „Format -> Formatvorlage“ gegangen bin und dann auf „Überschrift1“ mit Rechtsklick und „Ändern“, in dem Dialog habe ich dann die Schriftgröße, Schriftschnitt und Schriftgrad geändert und folgenden Code erhalten:

Code: Alles auswählen

sub FormatvorlageTest
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "DesignerDialog"
args1(0).Value = true

dispatcher.executeDispatch(document, ".uno:DesignerDialog", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Param"
args2(0).Value = "Überschrift 1"
args2(1).Name = "Family"
args2(1).Value = 2

dispatcher.executeDispatch(document, ".uno:EditStyle", "", 0, args2())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "DesignerDialog"
args3(0).Value = false

dispatcher.executeDispatch(document, ".uno:DesignerDialog", "", 0, args3())

end sub
Und wie man sieht, ist in dem Makro nix von den geänderten Eigenschaften zusehen.

Wäre super, wenn mir jemand sagen könnte, wie man die beiden von mir gewünschten Makros anpassen muss, damit sie „richtig“ funktionieren.

Schon mal danke
Gruß Jonny
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Jonny,

anpasssen? Wird wohl kaum gehen. Der Makrorekorder zeichnet "nur" Dispatcher-Code auf - und der kann nicht alles. Da gibt es einfach Grenzen. Wahrscheinlich hast du welche erreicht.
Und Ergänzen kannst du den Code entsprechend auch kaum, hier bliebe nur die komplette "Neuprogrammierung" in "echten" Code - und das ist sicher richtig Arbeit.

Wieviel Erfahrung hast du schon mit der Marko-Programmierung und dem UNO Modell?

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Jonny5K
*
Beiträge: 11
Registriert: Mo, 26.03.2007 17:59

Beitrag von Jonny5K »

Hallo Toxitom,

schonmal danke für die Antwort.
Hatte ich mir schon fast gedacht, das ich da mit dem Makrorekorder das nit hinbekommen werde :-(.

Meine Erfahrungen mit Makro-Programmierung und dem UNO Modell sind noch recht bescheiden. Kannst du mir vielleicht ein gutes Tutorial oder Buch zu diesem Thema empfehlen.

Gruß Jonny
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Jonny,
...mir vielleicht ein gutes Tutorial oder Buch zu diesem Thema empfehlen.
Schau mal im ersten Thread des Basic-forums. Dort sind alle wichtigen Quellen aufgelistet - und jede Menge freier Tutorials.
Als Buch? Klar hab ich eine Empfehlung - das Standardwert und die Referenz ;-) Schau einfach in meine Signatur.

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Antworten