Sonderzeichen über Makro

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

mike6
*****
Beiträge: 479
Registriert: Sa, 06.03.2004 13:58

Sonderzeichen über Makro

Beitrag von mike6 »

Hallo,

mit dem Code

***************************************************
sub haken_im_kasten
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(5) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Font.StyleName"
args1(0).Value = "Standard"
args1(1).Name = "Font.Pitch"
args1(1).Value = 2
args1(2).Name = "Font.CharSet"
args1(2).Value = 10
args1(3).Name = "Font.Family"
args1(3).Value = 0
args1(4).Name = "Font.FamilyName"
args1(4).Value = "Wingdings"
args1(5).Name = "Symbols"
args1(5).Value = ""
dispatcher.executeDispatch(document, ".uno:InsertSymbol", "", 0, args1())
end sub
*****************************************************

erzeuge ich in der Schriftart Windings einen "Haken im Kasten"
[U+FOFE].

Wie kann ich den Code schlanker machen?


mfg
mike6
ykcim
*****
Beiträge: 324
Registriert: Di, 29.07.2003 15:22
Wohnort: Neu-Isenburg
Kontaktdaten:

Beitrag von ykcim »

Auf den Dispatcher verzichten:

Code: Alles auswählen

sub insertzeichen
 oDoc = thiscomponent
 Cursor = oDoc.Text.createTextCursor()
 Cursor = oDoc.GetCurrentController.ViewCursor
 odoc.text.insertstring(cursor,"x",true)
 Cursor.CharFontName= "Wingdings" 
 Cursor.CharFontStyleName ="Standard"
 Cursor.CharFontCharSet =10
 Cursor.CharFontPitch  =2
 Cursor.goright(1,false) ' Damit der Cursor nach dem Zeichen steht.
end sub

mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
mike6
*****
Beiträge: 479
Registriert: Sa, 06.03.2004 13:58

Beitrag von mike6 »

Hallo,

danke für die Antwort. Klappt in Writer einwandfrei.

Wie wäre der Code für Calc ?
Und wo finde ich die Werte für die einzelnen Sonderzeichen?


mfg
mike6
ykcim
*****
Beiträge: 324
Registriert: Di, 29.07.2003 15:22
Wohnort: Neu-Isenburg
Kontaktdaten:

Beitrag von ykcim »

Eine Zeile mit allen allen "normalen" Zeichen schreiben und als winddings formartieren. :-) Es gibt aber sicherlich irgendwo im Netz eine Tabelle.

Tabellen:

Code: Alles auswählen

sub insertZeichenTab
myDoc = thisComponent
mySheet = myDoc.sheets(0)
mycell = mysheet.getCellByPosition(0,0)
mycell.string = "x"
mycell.CharFontName= "Wingdings" 
mycell.CharFontStyleName ="Standard"
mycell.CharFontCharSet =10
mycell.CharFontPitch  =2
end sub


mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
mike6
*****
Beiträge: 479
Registriert: Sa, 06.03.2004 13:58

Beitrag von mike6 »

Danke :!:


mfg
mike6
Antworten