Unicode-Zeichen einfügen – OpenOffice.org / StarOffice
Verfasst von Torsten am 2. März 2008
Schon vor längerer Zeit suchte ich nach einem Makro, um ein Unicode-Zeichen in OpenOffice.org Writer einzubauen und fand auf der Codesnippets-Seite das Skript InsertUnicodeCharacter. Doch irgendetwas stimmte bei dem Skript nicht. Vielleicht liegt es auch daran, dass ich mit StarOffice 7 arbeite (was ja OpenOffice.org 1.1.5 entspricht). Auf jeden Fall markierte Writer den Text nachdem ich das Unicode-Zeichen eingefügt hatte.
Nach dem Lesen des ct-Artikels „Text-Dirigent“ habe ich folgende neue Version erstellt, die diesen „Bug“ nicht mehr hat:
Sub insertUnicode
' Original hier:
' http://codesnippets.services.openoffice.org/Writer/Writer.InsertUnicodeCharacter.snip
' Abgewandelt von Torsten Landsiedel nach Lesen des ct-Artikels Text-Dirigent aus der ct 16/06 - S. 194 ff.
' Stand: Version 1.0 vom 06.10.2006
Dim objDokument As Object
Dim objText As Object
Dim objViewCursor As Object
Dim Character as String
' Dokument definieren
objDokument = GlobalScope.ThisComponent
' Text definieren
objText = objDokument.Text
' sichtbaren Cursor - Position holen
objViewCursor = objDokument.CurrentController.getViewCursor()
' Zeichen in Hexadezimal wird per clng in long-Wert umgewandelt
' chr macht aus dem long-Wert einen String
Character = chr(clng("&H2026"))
' Oben definiertes Zeichen an Cursorposition einfügen und dabei nicht überschreiben.
objText.insertString(objViewCursor, Character, false)
End Sub
Zusammen mit dem Unicode-Zeichensatz Code 2000 lassen sich nun eine Vielzahl an Zeichen über Tastaturkürzel oder Symbolleisten einfügen.
Das verwendete Unicode-Zeichen „&H2026″ ist die Horizontale Ellipse („…“). Eigene Unicode-Zeichen finden sich unter „Einfügen“ – „Sonderzeichen…“.


