Hinweis: Dieses Makro eignet sich nicht zur Eingabe von Emojis als Unicode. Die entsprechend langen Codes führen in der derzeitigen Implementierung der Chr()-Funktion zu einem Überlauf. (Stand 02.12.2015, LibreOffice 4.4, Windows)
- LibreOffice Writer öffnen
- Menü → Extras → Makros → Makros verwalten → LibreOffice Basic…
- in Feld „Makros aus“ Element „Meine Makros“ auswählen
- Button „Neu“ klicken
- Im öffnenden Texteditor folgenden Code eingeben
Sub EnterUnicodeChar
rem - Variablen definieren -----------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
dim unicode as string
dim unicodeVal as long
rem - Dokumentobjekt holen ----------------------------------------------
document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem - Unicode aus Eingabedialog lesen ----------------------------------
rem
unicode = INPUTBOX("Dezimal oder &H[+Hexadezimal]", "Unicode eingeben")
rem - Unicode in Dokument einfügen --------------------------------------
dim args7(1) as new com.sun.star.beans.PropertyValue
args7(0).Name = "Symbols"
unicodeVal = clng(unicode)
args7(0).Value = chr(unicodeVal)
args7(1).Name = "FontName"
args7(1).Value = "Georgia"
dispatcher.executeDispatch(document, ".uno:InsertSymbol", "", 0, args7())
End Sub
- Makro als Symbol zur Toolbar hinzufügen
- Rechtsklick auf gewünschter Toolbar öffnen
- Eintrag „Symbolleiste anpassen…“ wählen
- Button „Hinzufügen…“ neben Feld „Symbolleisteninhalt“ klicken
- In Feld „Bereich“ den Eintrag „LibreOffice Makros → Meine Makros → Standard →Module1“ 1 auswählen
- In Feld „Befehle“ den Eintrag EnterUnicodeChar 2 auswählen
- Button „Hinzufügen“ klicken
- Über Kombinationsfeld „Ändern“ ggf. Name und Symbol ändern
