von Toxitom » Mo, 05.06.2006 10:23
Hey Mike,
Geht der Dispatchercode auch schlanker ?
Wer soll das wissen, wenn du den Code nicht postest?
Im allgemeinen: Dispatchercode: Nein!
Nativ Code: wahrscheinlich ja. Ist aber ein komplett anderer Ansatz.
Das Makro soll alles ab Zeile A3 bis zum Ende des jeweils
letzten Eintrags löschen.
Na, über Schleifen machbar. Über alle Tabellenblätter, dann pro Tabellenblatt eine CellCursor erzeugen, diesen mit der Methode gotoEndOfUsedArea() auf die letzte benutzte Zelle setzen, Zelladresse auslesen, Zellbereich definieren (von A3 bis ...), Bereich löschen mit ClearContents((), wobei eben ein Flag übergeben werden muss, was denn alles gelöscht werden soll. Nachzulesen ibei com.sun.star.sheet.CellFlags : Für Werte, Datumswerte, Texte, Notizen und Kommentare, Formeln und "harte" Formatierungen ergibt sich : 63, Willst du auch Zellformate löschen, addiere nochmals 64 hinzu, Für Zeichnungen (Teile der Drawpage) weitere 128.
Na, denn mal los
Gruss
Thomas
Hey Mike,
[quote]Geht der Dispatchercode auch schlanker ? [/quote]
Wer soll das wissen, wenn du den Code nicht postest?
Im allgemeinen: Dispatchercode: Nein!
Nativ Code: wahrscheinlich ja. Ist aber ein komplett anderer Ansatz.
[quote]Das Makro soll alles ab Zeile A3 bis zum Ende des jeweils
letzten Eintrags löschen.
[/quote]
Na, über Schleifen machbar. Über alle Tabellenblätter, dann pro Tabellenblatt eine CellCursor erzeugen, diesen mit der Methode gotoEndOfUsedArea() auf die letzte benutzte Zelle setzen, Zelladresse auslesen, Zellbereich definieren (von A3 bis ...), Bereich löschen mit ClearContents((), wobei eben ein Flag übergeben werden muss, was denn alles gelöscht werden soll. Nachzulesen ibei com.sun.star.sheet.CellFlags : Für Werte, Datumswerte, Texte, Notizen und Kommentare, Formeln und "harte" Formatierungen ergibt sich : 63, Willst du auch Zellformate löschen, addiere nochmals 64 hinzu, Für Zeichnungen (Teile der Drawpage) weitere 128.
Na, denn mal los ;-)
Gruss
Thomas