Texttabellenfelder 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: Texttabellenfelder formatieren

Re: Texttabellenfelder formatieren

von stoni » Do, 10.04.2008 22:56

Vielen Dank! Genau das hatte ich gesucht. :lol:

Ciao
stoni

Re: Texttabellenfelder formatieren

von komma4 » Do, 10.04.2008 19:19

Natürlich :-)

Richtig erkannt: ist eine Zell-Eigenschaft - über RANGE kommst Du nicht weiter, aber so:

Code: Alles auswählen

oZelle = oTabelle.getCellByName( "B2" )
oZelle.isProtected = TRUE

Re: Texttabellenfelder formatieren

von stoni » Do, 10.04.2008 10:51

ein Teil der Zelleninhalte wird über eine Abfrage gefüllt - ich werde versuchen, Deine Lösung mal auszuprobieren. Dann brauche ich "nur noch" eine Lösung, wie ich einzelne Zellen per Code schützen kann. Über das Menü Zeile -> Zelle schützen kann ich einzelne Zellen der Texttabelle manuell schützen, dann müsste es doch auch eine (Zell-)Eigenschaft geben, die man per Code zuweisen kann?

Viele Grüße
stoni

Re: Texttabellenfelder formatieren

von komma4 » Mi, 09.04.2008 22:39

Es bleibt dabei: mit der hier verwendeten 2.4.0 kann ich NumberFormat setzen, wie ich möchte, das funktioniert nicht wie erwartet (Bug?).

Ich verwende bei den Tests die Konstanten aus com.sun.start.util.NumberFormat, dort ist
4 = TIME
und
8 = CURRENCY

Da Du in der BASE-Sektion schreibst: verwendes Du eine Datenquelle? Eine Abfrage?

Ich nutze die Formatierungsmöglichkeiten einer Abfrage, um die Ergebnisspalte "einfach" als Text einzufügen:
SELECT ... to_char( t091_rechnung.netto, '99G999D99 L' ) ...
[PostgreSQL-Syntax!]


Vielleicht ist das für Dich auch eine Lösung?!

Re: Texttabellenfelder formatieren

von stoni » Mi, 09.04.2008 20:33

komma4 hat geschrieben:Woher nimmst Du das?
PDF-Dokument im Internet gefunden:
"... Und die Zahlenspalte soll ebenfalls nicht ganz rechts „hängen“, sondern mit einem entsprechenden Abstand. Außerdem soll das Zahlenformat die Form „#.##0,00“ erhalten, also mit Tausender-Trennzeichen, Dezimaltrenner und zwei Nachkommastellen. Hierzu wird ein entsprechender Formatcode (dieser ist identisch bei dem von Calc verwendeten Formatcode) zugewiesen. Das gewünschte Format hat den Code 4:"

Code: Alles auswählen

REM zweite Spalte formatieren
oSpEuro = oTab.getCellRangeByName("B2:B" & oRows.getCount())
oSpEuro.NumberFormat = 4
oSpEuro.ParaRightMargin = 500
end sub
Autor: © Thomas Krumbein, September 2005

Interessanterweise sind diese Codezeilen im aktuellen Buch "Makros in OpenOffice.org" (2. Auflage) von Thomas Krumbein nicht mehr vorhanden...
komma4 hat geschrieben:Fügst Du reine nummerische Werte ein? Wie?
Also ich habe einen Auswahldialog erstellt, aus dem man sich vordefinierte Texttabellenvorlagen auswählen kann. Diese Vorlagen sind aber sehr unterschiedlich, mal kann z.B. die Spalte [Preis] in der 3. und mal in der 5 Spalte stehen. Nun habe ich ein separates Makro zum Zeile einfügen erstellt das in Abhängigkeit der gewählten Texttabellenvorlage die eingefügte Zeile (bzw. einzelne Zellen der Zeile) formatieren soll. Z.B. suche ich auch nach der Möglichkeit, per Code den Zellschutz für eine Zelle zu setzen.

Viele Güße
stoni

Re: Texttabellenfelder formatieren

von komma4 » Mi, 09.04.2008 19:54

stoni hat geschrieben: Nach meinen Recherchen soll NumberFormat=4 das Format #.##0,00 erzeugen...
Woher nimmst Du das?


Zum Problem:
Xray sagt mir, dass die Eigenschaft .NumberFormat im Kontext nicht existiert.


Fügst Du reine nummerische Werte ein? Wie?

Re: Texttabellenfelder formatieren

von stoni » Di, 08.04.2008 18:51

ja, das ist richtig. Nur muss ich gestehen, dass ich damit keine Antwort auf meine Frage gefunden habe.
Ich habe mit

Code: Alles auswählen

oRange = oTab.getCellRangeByName("D" & iZeile & ":F" & iZeile)
oRange.NumberFormat = 4
getestet - aber ohne Erfolg (auch keine Fehlermeldung). Nach meinen Recherchen soll NumberFormat=4 das Format #.##0,00 erzeugen...

stoni

Re: Texttabellenfelder formatieren

von komma4 » Di, 08.04.2008 14:48

..ich glaube, dass ich Dir diese Antwort schonmal gab: zum Bearbeiten von Texttabellen siehe ATL2 - AutoTextListe2

Texttabellenfelder formatieren

von stoni » Di, 08.04.2008 13:13

Hallo,

über ein Makro werden Zeilen aus einer Textdatei in eine Texttabelle (Writer!) kopiert. Nun möchte ich einzelne Felder der Tabelle gern per Basic formatieren (Ausrichtung, Zeichenformat,...). Könnte mir bitte jemand sagen, wie man die Zelleneigenschaften setzt?

Danke schon mal!
stoni

Nach oben