| Startseite | Inhalt
StarBasic / OpenOffice.org Basic FAQ
Fragen und Infos: starbasic@dannenhoefer.de

Zurück Vor |
| 7.5.3 Wie kann man Notizen eintragen oder löschen?
Zu jeder Zelle kann man zusätzlich Notizen hinterlegen. Dann het die Zelle einen kleinen roten Punkt. Dies geht natürlich auch mit Starbasic. Erst mal der Weg aus der Original-Dokumentation. Notizen sind Objekte des Arbeitsblattes die Zelladressen zugeordnet sind. Über den Container (com.sun.star.sheet.CellAnnotations) der alle Notizen enthält, kann man neue Notizen zu einer Zelle hinzufügen oder Notizen über den Index löschen. Sub InsertNotiz oDoc = thisComponent oSheet = oDoc.sheets(0) oZelle = oSheet.getCellRangeByName("C1") 'oder oZelle=oSheet.getCellByPosition(0,0) oZellAdresse = oZelle.CellAddress oNotizen=oSheet.getAnnotations oNotizen.insertNew(oZellAdresse, "Eine Notiz") End Sub Ist bereits eine Notiz zu der Zelle vorhanden, wird der Inhalt überschrieben. Löschen geht dann mit removebyindex. oNotizen=oSheet.getAnnotations oNotizen.removebyindex(1) Leider kann man nicht unbedingt mit dem Index auf die gewünschte Zelle zugreifen. Daher muß man wenn man den Index nicht kennt, über alle Zellen gehen und damit den richtigen Index herausbekommen. Dies geht über die Enumaration des Containers und ist daher etwas umständlich. Zum Schluß kommt noch eine schnellere Alternative. sub loescheNotiz ' Für Zelle a1 zeile=0 spalte=0 oDoc = thisComponent oSheet = oDoc.sheets(0) oNotizen=oSheet.getAnnotations listNotizen=oNotizen.createenumeration indexzaehler=0 while listNotizen.hasmoreelements oNotiz.nextelement() if oNotiz.position.row=zeile and oNotiz.position.column=spalte then index=indexzaehler indexzaehler=indexzaehler+1 wend oNotizen.removebyIndex(index) end sub Jetzt der schnelle Weg. Der schnellere Weg geht über die Zelle. Dort kann man einfachen den Text der Notiz setzen, damit wird die Notiz eingefügt. Ist die Zeile leer wird die Notiz gelöscht. sub notizaendern oDoc = thisComponent oSheet = oDoc.sheets(0) oZelle = oSheet.getCellRangeByName("F1") oNotiz=ozelle.getannotation oNotiz.string="text" ' oder zum löschen ' oNotiz.string="" end sub |
Seitenanfang |

2003 - 2009 von Michael Dannenhöfer |
Letzte Aktualisierung: 06.04.2009