Das folgende Makro stammt noch aus alten (OOo)-Zeiten, hat bisher alle Portierungen klaglos überstanden:
Code: Alles auswählen
sub ZoomSeiteExtra
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(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Zoom.Value"
args1(0).Value = 130
args1(1).Name = "Zoom.ValueSet"
args1(1).Value = 28703
args1(2).Name = "Zoom.Type"
args1(2).Value = 0
dispatcher.executeDispatch(document, ".uno:Zoom", "", 0, args1())
end sub
Ich habe daraufhin mit LibO 4.0 via Makro-Aufzeichnung ein neues Makro mit der gewünschten Funktionalität erzeugt.
Das sieht nun zwar etwas anders aus, liefert aber dasselbe unerwünschte Ergebnis:
Code: Alles auswählen
sub ZoomSeite2
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(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Zoom.Value"
args1(0).Value = Array(Array("Value",0,130,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ValueSet",0,28703,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Type",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE))
args1(1).Name = "Zoom.ValueSet"
args1(1).Value = Array(Array("Value",0,130,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ValueSet",0,28703,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Type",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE))
args1(2).Name = "Zoom.Type"
args1(2).Value = Array(Array("Value",0,130,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ValueSet",0,28703,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Type",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE))
dispatcher.executeDispatch(document, ".uno:Zoom", "", 0, args1())
end sub
Code: Alles auswählen
sub ZoomSeite1
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 ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:ZoomPageWidth", "", 0, Array())
end sub
Meine Frage: Kann mir jemand sagen, wie ich das Makro umstricken/gestalten muss, um z.B. einen Maßstab von 130% direkt umgesetzt zu bekommen?