Seite 1 von 1
Zellenformat in einer Writertabelle verändern
Verfasst: Di, 20.03.2012 22:08
von arkadiuszpaluszek
Hallo!
Ich versuche gerade in meiner Texttabelle das Format zur Ausgabe von Zahlen zu formattieren. Meine Double-Variablen erscheinen nämlich in der DB selbst als "0,00 €", wenn ich die Datenfelder aber mit "oErgSet.getDouble" auslese und in die Tabelle eintrage (oCell.String=meineVariable) erscheint die Zahl ohne Komma, ohne Eurozeichen, ohn nix eben.
Habe versucht es ähnlich wie in Calc handzuhaben:
Code: Alles auswählen
oBereich=oDoc.getCellRangeByName("D1:D4")
oBereich.NumberFormat=4
Scheint meiner Texttabelle zunächst mal egal zu sein, von diesem Code lässt sie sich nicht beeindrucken. Wenn nicht so, wie sonst?
Viele Grüße
Arek
Re: Zellenformat in einer Writertabelle verändern
Verfasst: Mi, 21.03.2012 06:53
von F3K Total
Hallo Arek,
es handelt sich um "TextTables", die werden anders behandelt, es wird im Xray zwar ein CellRange angezeigt, läßt sich aber nicht bearbeiten.
Für die erste Zelle (A1) geht dieser Code:
Code: Alles auswählen
Sub S_get_texttables_Numberformat
Dim oTextTables As Object
Dim oObj_1 As Object
Dim oCellRangeByPosition As Object
Dim nNumberFormat As Long
oTextTables = thisComponent.TextTables
oObj_1 = oTextTables.getByName("Tabelle1"), es geht auch getbyindex z.B.: oObj_1 = oTextTables(0)
oCellByPosition = oObj_1.getCellByPosition(0, 0)
nNumberFormat = oCellByPosition.NumberFormat
msgbox nNumberFormat
oCellByPosition.NumberFormat = 106
End Sub
Gruß R
Re: Zellenformat in einer Writertabelle verändern
Verfasst: Fr, 23.03.2012 20:12
von arkadiuszpaluszek
Vielen Dank! Es funktioniert - ich konnte mit NumberFormat=4 zumindest sagen, dass ich gerne zwei Nachkommastellen hätte. Dann habe ich eine Tabelle geschaffen in der ich das Zahlenformat per Hand auf Währung eingestellte habe. Mit meinem Makro habe ich dann das Zahlenformat mir anzeigen lassen, angeblich wäre es 109. Wenn ich in meiner Rechnungsvorlage aber 109 eingebe, bekomme ich als Ergebnis nur eine ganze Zahl ohne Nachkommastellen! 106 und 108 habe ich noch probiert. Welcher wäre nun der Code für Währung mit einem Euro-Zeichen hinter der Zahl?
Gruß
Arek
Re: Zellenformat in einer Writertabelle verändern
Verfasst: Fr, 23.03.2012 21:25
von Karolus
Re: Zellenformat in einer Writertabelle verändern
Verfasst: Fr, 23.03.2012 21:31
von F3K Total
Karolus hat geschrieben:Hallo
Suchbegriff 'Numberformat' siehe Treffer 2ff
Karo
Hi,
ich habe genau das gemacht und konnte diesen Code zusammenbasteln:
Code: Alles auswählen
Sub S_Zelle_formatieren '1,00€
odoc = thisComponent
Dim Lokalformate as new com.sun.star.lang.Locale
numberformats = odoc.numberformats
numberformatstring = "#.##0,00 [$€-407];-#.##0,00 [$€-407]"
numberformatid = numberformats.queryKey(numberformatstring, Lokalformate, True)
if numberformatId = -1 then 'existiert noch nicht
numberformatId = numberformats.addNew(numberformatstring,Lokalformate)
end if
oTextTables = thisComponent.TextTables
oObj_1 = oTextTables.getByName("Tabelle1")' es geht auch getbyindex z.B.: oObj_1 = oTextTables(0)
oCellByPosition = oObj_1.getCellByPosition(0, 0)
oCellByPosition.NumberFormat = numberformatid
End Sub
Gruß R
Re: Zellenformat in einer Writertabelle verändern
Verfasst: Fr, 23.03.2012 21:42
von Karolus
Hallo
@F3K Total:
Du motivierst damit nicht gerade dazu, dass $Fragesteller seinen eigenen Grips bemüht !
Gruß Karo
Re: Zellenformat in einer Writertabelle verändern
Verfasst: Fr, 23.03.2012 22:41
von arkadiuszpaluszek
Funktioniert, vielen Dank!
Gruß Arek
Re: Zellenformat in einer Writertabelle verändern
Verfasst: Fr, 23.03.2012 23:53
von F3K Total
Hallo Karolus,
hatte mich zeitgleich damit beschäftigt und als ich fertig war, sah ich deinen Post.
Karolus hat geschrieben:@F3K Total:
Du motivierst damit nicht gerade dazu, dass $Fragesteller seinen eigenen Grips bemüht !
Ich kann dazu nur von mir sprechen:
Mir helfen anschauliche Beispiele beim Verstehen. Ich freue mich, wenn ich so einen Code finde und lerne beim Nachvollziehen.
Gruß R
Re: Zellenformat in einer Writertabelle verändern
Verfasst: Mo, 09.04.2012 13:42
von arkadiuszpaluszek
Lieber f,
Du solltest lieber Deinen Grips zur Lösung Deiner eigenen Programmierprobleme verwenden als in Frage zu stellen, ob es sinnvoll ist jemandem zu helfen.
Ich bin FK3 total für seine immer sehr praktischen, nachvollziehbaren und somit für mich eben auch sehr lehrreichen Beispiele sehr dankbar! Weiterhin benutze ich durchaus die Suchfunktion des Forums, habe zu Hause genug Fachliteratur (wie eben z.B. den berühmten "Krummbein") und wende mich dennoch immer wieder ans Forum mit Fragen - weil auch meine mir zur Verfügung stehende Zeit sehr, sehr beschränkt ist. Ich programmiere zu gemeinnützigen Zwecken und nicht nur aus Hobby, und bin wirklich für jede Hilfe froh die mir hilft voranzukommen.
MfG
Arek