Seite 1 von 1

Anfangsbuchstabe eines Wortes groß

Verfasst: Mo, 31.07.2006 10:21
von OberHoffis
Hallo,

ich suche eine Funktion:
der Cursor steht in einem Wort, das komplett aus kleinen Buchstaben besteht. Jetzt verwende ich eine Tastenkombination, und das Wort ist groß geschrieben, d.h. der erste Buchstabe ist groß, alle andern sind klein.

Gibts das?

Ich habe in der Hilfe noch hier im Forum nichts dazu gefunden.

Ich kenne diese Funktion von MS Office und finde sie dort sehr praktisch.

Gruß Tobi

Verfasst: Mo, 31.07.2006 12:17
von RS
Hallo Tobi,

das Ganze findet sich unter "Format - Zeichen - Schrifteffekt - Auszeichnungen - Titelschrift".

Das Ganze habe ich wiederum per Makrorecorder aufgezeichnet:

sub Main
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 = "CaseMap"
args1(0).Value = 3

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


end sub

Und dieses Makro kannst Du über "Symbolleisten anpassen - Ereignisse..." auch in Deiner Menüleiste mit einem Icon für den leichten Zugriff versehen.

Gruß,

Rebecca

Verfasst: Mo, 31.07.2006 16:41
von OberHoffis
Hallo Rebecca,

vielen Dank!! :-) Das war jetzt mein Erstkontakt mit Makros in OO. Die Funktion liegt jetzt bei mir auf der Taste F4. :-)

Kleine Einschränkung ist für mich, dass ich nicht während des Tippens mitten im Wort diese Funktion benutzen kann, da danach einfach alle Wörter als Titelschrift gesetzt werden. Gut, es ließe sich wahrscheinlich eine Taste mit Auszeichenungen:Ohne belegen. Dann habe ich nur fast denselben Aufwand wie jedesmal den ersten Buchstaben groß zu setzen.

Ist das eigentlich wirklich so eine selten gebrauchte Funktion, dass man da selber was basteln muss?

Viele Grüße
Tobi

Verfasst: Mo, 31.07.2006 17:00
von manese
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

Verfasst: Mo, 31.07.2006 21:23
von OberHoffis
Hallo manese,

hier springt der Cursor bis zum Wortende, wenn er mitten im Wort steht. Und danach geht es klein weiter, wenn ich das will. Das ist wirklich gut. Vielen Dank. :-)

Gruß Tobi