openoffice-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Regina Henschel <rb.hensc...@t-online.de>
Subject Re: Wie kann ich in Open-Office Unicode-Sonderzeichen per Tastatur eingeben?
Date Wed, 09 Jan 2019 10:59:11 GMT
Hallo Helmut,

Helmut Schütz schrieb am 09-Jan-19 um 10:56:
> Hallo Regina,
> 
> du hast mich auf die Idee gebracht, mein Problem einfach zu lösen. 
> Nämlich das gewünschte Zeichen nicht per "Makro aufzeichnen" eingeben zu 
> wollen, sondern es einfach in ein fertiges Makro unter "Makro verwalten" 
> einzutragen.
> 
> Mein Makro für das Zeichen ē sieht dann zum Beispiel so aus:
> 
> sub eoberstrichklein
> 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 = "Text"
> args1(0).Value = "ē"
> dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args1())
> end sub
> 
> Die einzige Frage, die bleibt: Ist das die einzige Art, ein solches 
> Makro zu schreiben, oder ginge es evtl. auch einfacher?
> 

Es geht auch ohne Dispatcher:

Sub CmitCedillaKlein

REM Aktuelle Cursorposition bestimmen
Dim doc as variant
Dim controller as variant
Dim textviewcursor as variant
doc = ThisComponent
controller = doc.getCurrentController()
textviewcursor = controller.getViewCursor()
REM Unicode-Wert für das Zeichen ç ist e7, siehe Sonderzeichendialog
REM clng wandelt den Wert in eine Ganzzahl vom Typ long um
REM chr wandelt es dann in ein Zeichen mit Unicode-Codierung um
Dim character as String
character = chr(clng("&He7"))
REM Dieses Zeichen wird an der aktuellen Cursorposition eingefügt
textviewcursor.setString(character)
REM Der Cursor wird ohne gleichzeitiges Markieren um 1 Stelle nach 
rechts gesetzt.
textviewcursor.goRight(1, false)
End Sub

[Eventuell musst du Zeilenumbrüche entfernen.]

Wenn du die REM Zeilen rauslässt, ist es recht kurz.

Ich habe allerdings dann eine Symbolleiste für die ganzen Sonderzeichen 
gemacht. Da habe ich als Text für das Icon eben dieses Sonderzeichen 
genommen. Das war für Schüler mit Französisch; es war für sie einfacher 
als Tastenkürzel zu lernen. Die Makros und die Symbolleiste habe ich in 
eine Dokumentenvorlage gepackt, bei der dann auch gleich die Sprache auf 
  Französisch gestellt war.

Hier noch ein paar Alternativen ohne Makro:

Lerne die Codepoints auswendig und gebe sie mit dem Numpad ein.

Nimm die Sonderzeichen in der Ersetzungstabelle auf. Dann musst du u.U. 
das Leerzeichen entfernen, das man benötigt um die Ersetzung auszulösen.

Mache aus dem Sonderzeichen einen AutoText. Dann musst du den 
Zeilenumbruch entfernen, der nach einem AutoText automatisch eingefügt wird.

Mit freundlichen Grüßen
Regina


---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
For additional commands, e-mail: users-de-help@openoffice.apache.org


Mime
View raw message