Makro (Basic-Calc, OOo2.02, Win2k) Zellen formatieren

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Makro (Basic-Calc, OOo2.02, Win2k) Zellen formatieren

von sascha11 » Do, 13.04.2006 13:44

danke- genau das habe ich benötigt!

von ykcim » Do, 13.04.2006 13:19

Hi,

die Zeichen einer Zelle werden über dir CharProperties eingetstellt.
In Deinem Fall CharWeight und CharUnderline.

Code: Alles auswählen

oDoc = thiscomponent
osheet=odoc.sheets(0)
mycell=osheet.getcellrangebyname("A1:C1")
myCell.CharUnderline=com.sun.star.awt.FontUnderline.SINGLE
myCell.CharWeight=com.sun.star.awt.FontWeight.BOLD
Weitere Parameter stehten im SDK.

Das Löschen geht über ClearContent und den ContentFlag. Der Falg setzt sich aus einer Kombination von Werten zusammen.
In Deinem Fall sollte es VALUE,STRING und HARDATTR(Formatierung) sein. Auch hier findest Du die weiteren Parameter im SDK.

Code: Alles auswählen

myDoc = thisComponent
mySheet = myDoc.sheets(0)

mycell = mysheet.getCellByPosition(0,0)
flag=com.sun.star.sheet.CellFlags.VALUE+com.sun.star.sheet.CellFlags.STRING+com.sun.star.sheet.CellFlags.HARDATTR
mycell.clearcontents(flag)


mfg
Michael

Makro (Basic-Calc, OOo2.02, Win2k) Zellen formatieren

von sascha11 » Do, 13.04.2006 09:45

hey!

ich muss die Zellformatierung variabel lösen, daher benötige ich für mein Makro die Befehle (Eigenschaften) für:
- Fett
- Unterstreichen

Code: Alles auswählen

also z. Bsp.: oT5.getCellRangeByName("A9:C1000").Fett
                   oT5.getCellRangeByName("A9:C1000").Unterstreichen
Anschließend soll dann der Zellbereich wieder vollständig, incl. aller Formatierungen gelöscht werden.
Hier habe ich Code gefunden, der mich allerdings, auch nach einigen Anpassungen mit Fehlermeldungen überhäuft:

Code: Alles auswählen

Die Methode clearContents vereinfacht den Vorgang des Löschens von
Zellinhalten und Zellbereichen, indem sie einen bestimmten Inhaltstyp aus einem
Zellbereich löscht.
Das folgende Beispiel entfernt alle Zeichenfolgen sowie die direkten
Formatierungsinformationen aus dem Bereich B2:C3.
Dim Doc
As Object Dim Sheet
As Object Dim CellRange
As Object Dim Flags
As Long
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
CellRange = Sheet.getCellRangeByName('B2:C3')
Flags = com.sun.star.sheet.
CellFlags.STRING + _ com.sun.star.shee
CellFlags.HARDATTR
CellRange.clearContents(Flags)
Ich habe Doc sowie sheets definiert, oft fehlen auch Syntaxteile, wie nach
.shee oder die Eigenschaft bei Flags = com.sun.star.sheet.

Danke!

Sascha

Nach oben