aufgezeichnetes Makro nicht indirekt startbar

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

Moderator: Moderatoren

clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

aufgezeichnetes Makro nicht indirekt startbar

Beitrag von clag »

Moin ihr Kenner, Könner und die Anderen :lol: ,

um die Zeichenbreite eines Textabschnittes zu reduzieren habe ich ein Makro aufgezeichnet welches,
wenn man es einzeln aufruft auch das tut was es soll, nämlich den markierten Text prozentual in der Breite variieren.

Code: Alles auswählen

sub textschmaler

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 = "CharacterWidthScalingFactor"
args1(0).Value = 70 'xvalue

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

'print " HALLO that' the ENDE mit " & xvalue & "  "

end sub
Versuche ich nun diesen aufgezeichneten Code durch eine andere Funktion(Button) oder BasicCode aufzurufen,
funktioniert er leider nicht mehr und es wird nichts am markierten Text geändert geändert,
der Code wird schon aufgerufen aber er bewirkt nur nichts mehr.
Also das Hallo .. an Ende wird ausgegeben.

Wie man sehen kann, hatte ich versucht einen Wert zu übergeben aber das funktioniert dann natürlich auch nicht :?

Gibt es für dieses Verweigern einen bestimmten Grund und kann mir jemand sagen warum das nicht funktioniert
und vor allem wie man es richtig macht ?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox