Seite 1 von 1
NumericField in Basic
Verfasst: Di, 07.03.2006 11:05
von mike6
Hallo,
ich habe in CALC eine Basic-Dialogfeld über das ich Daten
in ein Calc-Tabellenblatt übertrage.
Nun tritt folgendes Problem auf:
In das NumericField gebe ich z.B. 100,00 ein.
Nach dem Übertrag in die Calc Tabelle steht zwar in
der entsprechenden Zelle 100,00 aber als Format
mit einem vorangestellten Apostroph, also
'100,00
Wo muss ich was einstellen, damit die Zahl 100,00 als "Zahl" in
die Calc-Tabelle eingetragen wird?
mfg
mike6
Verfasst: Di, 07.03.2006 11:10
von ykcim
Eine Zelle hat veschiedene Properties für Variablentypen:
zelle.string für Text
zelle.value für Zahlen
zelle.formula wenn der String eine Formel ist
mfg
Michael
Verfasst: Di, 07.03.2006 12:09
von mike6
Hallo Michael,
vielen Dank. Klappt!
mfg
mike6
Verfasst: Mi, 08.03.2006 07:53
von mike6
Hallo,
ich habe noch eine Nachfrage.
Mit dem Makro :
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Sub Daten_in_Vordruck_uebernehmen
Dim oSheet as Object
' Sheet Seite1 oSheet zuweisen
oSheet = ThisComponent.Sheets.getByName("Seite1")
' Daten eintragen in Zelle E59 1 VORSCHUSS ***** Die Daten werden als "Zahl" übernommen *****
oSheet.getCellbyPosition(4,58).Value = Int(oDialog.GetControl ("NumericField9").getText())
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Das Numeric Feld ist formatiert:
Min.Wert = 0,00
Max.Wert = 100.000,00
Wenn ich in das Basic Fenster 30.000,00 eingebe und das Makro starte,
steht in der Zelle E 59 statt 30.000,00 nur 30.
Es wird also das Zahlenformat geändert.
Kann ich das Zahlenformat noch im o.a. Makro unterbringen ""
mfg
mike6
Verfasst: Mi, 08.03.2006 11:55
von ykcim
Hi,
es gilt wie beim Schreibem in Zellen: Text <> Value
Du mußt getValue() verwenden.
oSheet.getCellbyPosition(4,5 Cool.Value = Int(oDialog.GetControl ("NumericField9").getValue())
mfg
Michael
Verfasst: Mi, 08.03.2006 15:56
von mike6
Hallo,
erst mal vielen Dank für die Hilfe.
Es gibt aber noch folgendes Problem:
Bei der Eingabe von z.B. 10.000,00 erscheint 10.000,00.
Bei der Eingabe von 10.000,37 erscheint aber ebenfalls 10.000,00.
Es werden also die letzen beiden Kommastellen abgeschnitten.
Gibt es dafür auch noch eine Lösung?
mfg
mike6
Verfasst: Mi, 08.03.2006 16:43
von ykcim
Was macht int() mit dem Wert?
Value = Int(oDialog.GetControl ("NumericField9").getValue())
Sieht nach einer Integerwandlung aus.
mfg
Michael
Verfasst: Do, 09.03.2006 07:43
von mike6
Hallo Michael,
lag wirklich an Int.
Weglassen und in die Zelle wird der richtige Wert eingetragen.
mfg
mike6