Notizen in Calc
Moderator: Moderatoren
Notizen in Calc
Hallo,
wie ich Notizen in Calc mit Basic einfügen kann weiß ich inzwischen. Leider ist die Schrift immer zu groß. Wie kann ich die Schrift der Notizen ändern. Habe dazu leider nirgendwo etwas gefunden.
Danke
Moritz
wie ich Notizen in Calc mit Basic einfügen kann weiß ich inzwischen. Leider ist die Schrift immer zu groß. Wie kann ich die Schrift der Notizen ändern. Habe dazu leider nirgendwo etwas gefunden.
Danke
Moritz
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Notizen in Calc
mit Xray gefunden:
Code: Alles auswählen
' Achtung: Zeilenfortsetzung durch Unterstrich !
oSheet.getAnnotations( _
).getByIndex( 0 _
).getAnnotationShape( _
).CharHeight = 12
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Notizen in Calc
Danke für Deine Hilfe, aber so einfach funktioniert es zumindest bei mir nicht. Das hatte ich schon versucht
Moritz
Moritz
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Notizen in Calc
Warum funktioniert das nicht?
Welche OOo Version?
Wo liegt das Problem?
Welche OOo Version?
Wo liegt das Problem?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Notizen in Calc
Hallo, bin immer noch nicht weitergekommen. Hab OO in der aktuellsten Variante.
Ich denke, man muß einen Textcursor kreieren und kann erst dann auf die Texteigenschaften zugreifen.
Bei Deiner Variante kommt zwar keine Fehlermeldung, es ändert sich aber auch nichts am Text.
oCursor=oCell.Annotation.AnnotationShape.Text.CreateTextCursor
oCursor.GotoStart (False)
oCursor.GotoEnd (True)
oCursor.getPropertyValue ("CharColor") 'als Beispiel
In der letzten Zeile kommt der Fehler "unbekannte Eigenschaft".
Moritz
Ich denke, man muß einen Textcursor kreieren und kann erst dann auf die Texteigenschaften zugreifen.
Bei Deiner Variante kommt zwar keine Fehlermeldung, es ändert sich aber auch nichts am Text.
oCursor=oCell.Annotation.AnnotationShape.Text.CreateTextCursor
oCursor.GotoStart (False)
oCursor.GotoEnd (True)
oCursor.getPropertyValue ("CharColor") 'als Beispiel
In der letzten Zeile kommt der Fehler "unbekannte Eigenschaft".
Moritz
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Notizen in Calc
Also 2.3.1?moritz hat geschrieben:in der aktuellsten Variante.
Muss man nicht, aber man kann.moritz hat geschrieben:man muß einen Textcursor kreieren
Das ändert die Grundeinstellung von Text, der bspw. mitmoritz hat geschrieben:Bei Deiner Variante kommt zwar keine Fehlermeldung, es ändert sich aber auch nichts am Text.
Code: Alles auswählen
oSheet.getAnnotations( _
).insertNew( _
oCellAdr, _
"Das ist eine Info" _
)
Du erzeugst einen Textcursor. Der hat keine Eigenschaft "Farbe", ist nämlich nur ein Zeiger, kein darstellbarer Text.
Ich sehe mit xray auch keine Möglichkeit die Eigenschaften des Texts der Notiz wie bspw. bei einem Textfeld zu setzen. Die entsprechenden properties fehlen...
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Notizen in Calc
Hier mal das ganze Makro. Ich habe OO 2.3.1, bis jetzt nur unter XP. Unter SuSE hab ich das ganze noch nicht getestet. Egal, was ich bei CharHeight eingebe, die Textgröße bleibt unverändert, nur die vertikale Rahmengröße ändert sich.
Die Notizen werden auf zweierlei Arten angezeigt: wenn man mit der Maus darüber fährt und wenn mann "Notizen anzeigen" einstellt. Wenn man die Notizen manuell erstellt, werden sie bei beiden Anzeigearten in der gleichen Größe dargestellt. Bei mit dagegen beim Darüberfahren mit der Maus viel zu groß, bei "Notizen anzeigen" jedoch richtig.
Vielleicht ist hier doch ein bug in Starbasic.
sub Notiz
'Fügt eine Notiz mit dem aktuellen Datum in das aktuelle Feld ein.
Dim oDoc as Object
Dim oSheet as Object
Dim oCell as Object
oDoc = ThisComponent
oCell = oDoc.Sheets( GetPosActiveSheet(oDoc)).getCellByPosition(getColumn,Tools.getRow)
AddColoredAnnotationToCell(oCell, date(),100,200,100)
End Sub
Function AddColoredAnnotationToCell(oCell as Object, sText as String,r as Long, g as Long,b as Long)
Dim aSize As New com.sun.star.awt.Size
Dim apoint As New com.sun.star.awt.Point
Dim cellPos, cellSize
Dim oShape as Object
Dim oText as Object
cellPos = oCell.Position
cellSize = oCell.Size
oCell.Annotation.String = sText
oShape = oCell.Annotation.AnnotationShape
'-----------------------------------------------------------------------------
oShape.FillBackground = true
oShape.FillColor = RGB(r,g,b)
oShape.FillStyle = 1
oShape.FillTransparence = 0
oShape.CharFontName = "Arial"
oShape.CharHeight = 8
oShape.CharScaleWidth = 100
oShape.TextLeftDistance =100
oShape.TextLowerDistance =100
oShape.TextRightDistance =100
oShape.TextUpperDistance =100
'-----------------------------------------------------------------------------
asize.Height = cellSize.height
asize.Width = cellSize.width
oShape.Size = asize
oShape.SizeProtect = False
apoint.x = cellPos.x + cellSize.width + cellSize.width/4
apoint.y = cellPos.y - 2 * cellSize.height
oShape.setPosition apoint
End Function
Die Notizen werden auf zweierlei Arten angezeigt: wenn man mit der Maus darüber fährt und wenn mann "Notizen anzeigen" einstellt. Wenn man die Notizen manuell erstellt, werden sie bei beiden Anzeigearten in der gleichen Größe dargestellt. Bei mit dagegen beim Darüberfahren mit der Maus viel zu groß, bei "Notizen anzeigen" jedoch richtig.
Vielleicht ist hier doch ein bug in Starbasic.
sub Notiz
'Fügt eine Notiz mit dem aktuellen Datum in das aktuelle Feld ein.
Dim oDoc as Object
Dim oSheet as Object
Dim oCell as Object
oDoc = ThisComponent
oCell = oDoc.Sheets( GetPosActiveSheet(oDoc)).getCellByPosition(getColumn,Tools.getRow)
AddColoredAnnotationToCell(oCell, date(),100,200,100)
End Sub
Function AddColoredAnnotationToCell(oCell as Object, sText as String,r as Long, g as Long,b as Long)
Dim aSize As New com.sun.star.awt.Size
Dim apoint As New com.sun.star.awt.Point
Dim cellPos, cellSize
Dim oShape as Object
Dim oText as Object
cellPos = oCell.Position
cellSize = oCell.Size
oCell.Annotation.String = sText
oShape = oCell.Annotation.AnnotationShape
'-----------------------------------------------------------------------------
oShape.FillBackground = true
oShape.FillColor = RGB(r,g,b)
oShape.FillStyle = 1
oShape.FillTransparence = 0
oShape.CharFontName = "Arial"
oShape.CharHeight = 8
oShape.CharScaleWidth = 100
oShape.TextLeftDistance =100
oShape.TextLowerDistance =100
oShape.TextRightDistance =100
oShape.TextUpperDistance =100
'-----------------------------------------------------------------------------
asize.Height = cellSize.height
asize.Width = cellSize.width
oShape.Size = asize
oShape.SizeProtect = False
apoint.x = cellPos.x + cellSize.width + cellSize.width/4
apoint.y = cellPos.y - 2 * cellSize.height
oShape.setPosition apoint
End Function
Re: Notizen in Calc
Ja, so funktioniert es, da wär ich nie drauf gekommen.
Vielen Dank
Moritz
Vielen Dank
Moritz