von manese » Mo, 31.07.2006 17:00
Hallo Tobi,
ich habe dir einmal ein etwas komplexeres makro zu diesem Thema beigefügt.
Das Problem hierbei ist jedoch, dass das Makro im prinzip gut funktioniert, allerdings nicht, wenn der Cursor genau vor dem Wort steht. Man kann das Makro unproblematisch ändern, sodass es auch dann fuktioniert; aber dann hat man das Problem, dass es nicht fuktioniert, wenn der Cursor am Dokumentende steht. Das ist aber bei den meisten Leuten in mehr als 99% der Fall, und deshalb habe ich es bei dieser Version gelassen. (Wenn du es anders möchtest, lasse in Zeile 16 das Wort „rem“ einfach weg!)
Ich hoffe ich konnte dir damit ein bisschen helfen; das Ei des kolumbus ist das ganze noch nicht.
Alles Gute
matthias
sub Majuskel
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(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Count"
args1(0).Value = 1
args1(1).Name = "Select"
args1(1).Value = false
rem dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoToPrevWord", "", 0, Array())
rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Count"
args2(0).Value = 1
args2(1).Name = "Select"
args2(1).Value = true
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args2())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ChangeCaseToUpper", "", 0, Array())
rem ----------------------------------------------------------------------
dim args4(1) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Count"
args4(0).Value = 1
args4(1).Name = "Select"
args4(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args4())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoToNextWord", "", 0, Array())
end sub
Hallo Tobi,
ich habe dir einmal ein etwas komplexeres makro zu diesem Thema beigefügt.
Das Problem hierbei ist jedoch, dass das Makro im prinzip gut funktioniert, allerdings nicht, wenn der Cursor genau vor dem Wort steht. Man kann das Makro unproblematisch ändern, sodass es auch dann fuktioniert; aber dann hat man das Problem, dass es nicht fuktioniert, wenn der Cursor am Dokumentende steht. Das ist aber bei den meisten Leuten in mehr als 99% der Fall, und deshalb habe ich es bei dieser Version gelassen. (Wenn du es anders möchtest, lasse in Zeile 16 das Wort „rem“ einfach weg!)
Ich hoffe ich konnte dir damit ein bisschen helfen; das Ei des kolumbus ist das ganze noch nicht.
Alles Gute
matthias
sub Majuskel
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(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Count"
args1(0).Value = 1
args1(1).Name = "Select"
args1(1).Value = false
rem dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoToPrevWord", "", 0, Array())
rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Count"
args2(0).Value = 1
args2(1).Name = "Select"
args2(1).Value = true
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args2())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ChangeCaseToUpper", "", 0, Array())
rem ----------------------------------------------------------------------
dim args4(1) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Count"
args4(0).Value = 1
args4(1).Name = "Select"
args4(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args4())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoToNextWord", "", 0, Array())
end sub