[gelöst]Formatierte Währungsfelder umsetzen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Postbyme
***
Beiträge: 77
Registriert: Mo, 27.11.2017 18:42

[gelöst]Formatierte Währungsfelder umsetzen

Beitrag von Postbyme »

Hallo zusammen,
jeweils per Calc-Dateien gespeicherte Rechnungen möchte ich auswerten. Die Beträge sind darin im Format "Währung -1.234,00 €" dargestellt. Jetzt möchte ich diese Euro-Beträge per Makro in einer anderen Auswertungstabelle übertragen und zusammenfassen um mit diesen Beträgen einige Analysen und Kalkulationen durchzuführen. Wie sollte ich die Beträge programmtechnisch übertragen?
Danke
Zuletzt geändert von Postbyme am So, 29.04.2018 12:31, insgesamt 1-mal geändert.
-------------------------------------------------------
Windows 10 1903 /Libre Office 6.3.3.2 (x64)

Postbyme
***
Beiträge: 77
Registriert: Mo, 27.11.2017 18:42

Re: Formatierte Währungsfelder umsetzen

Beitrag von Postbyme »

..was ich noch vergessen habe: Die Beträge sollen in der Tabelle so gespeichert sein, dass diese dann auch "CSV-exportfreundlich" sind.
-------------------------------------------------------
Windows 10 1903 /Libre Office 6.3.3.2 (x64)

Stephan
********
Beiträge: 11553
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Formatierte Währungsfelder umsetzen

Beitrag von Stephan »

Wie sollte ich die Beträge programmtechnisch übertragen?
Ganz normal als Zahlenwert, also einzeln so:

Code: Alles auswählen

myDoc = thisComponent
mySheet = myDoc.sheets(0)
mySheet2 = myDoc.sheets(1)
mycell = mysheet.getCellByPosition(0,0)
mycell2 = mysheet2.getCellByPosition(0,0)
myvalue=mycell.value
mycell2.value = myvalue
mycell2.NumberFormat = mycell.NumberFormat
oder, mehrere als Zellbereich:

Code: Alles auswählen

myDoc = thisComponent
mySheet = myDoc.sheets(0)
mySheet2 = myDoc.sheets(1)
myrange = mysheet.getCellRangeByName("A1:A20")
myrange2 = mysheet2.getCellRangeByName("A1:A20")
myvalues=myrange.getDataArray()
myrange2.setDataArray(myvalues)
myrange2.NumberFormat = myrange.NumberFormat

Gruß
Stephan

Postbyme
***
Beiträge: 77
Registriert: Mo, 27.11.2017 18:42

Re: Formatierte Währungsfelder umsetzen

Beitrag von Postbyme »

Hallo Stephan,
vielen Dank. Da ich prinzipiell nicht mit variant arbeiten möchte würde mich noch interessieren mit welchem Format ich myvalue definieren müsste.
Danke
-------------------------------------------------------
Windows 10 1903 /Libre Office 6.3.3.2 (x64)

Stephan
********
Beiträge: 11553
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Formatierte Währungsfelder umsetzen

Beitrag von Stephan »

Postbyme hat geschrieben:
Sa, 28.04.2018 15:48
Hallo Stephan,
vielen Dank. Da ich prinzipiell nicht mit variant arbeiten möchte würde mich noch interessieren mit welchem Format ich myvalue definieren müsste.
Danke
Spontan hätte ich Long als Datentyp vorgeschlagen, aber das Internet verweist mich auf Currency, also nimm Currency :

Code: Alles auswählen

Dim myvalue As Currency
Gruß
Stephan

Postbyme
***
Beiträge: 77
Registriert: Mo, 27.11.2017 18:42

Re: Formatierte Währungsfelder umsetzen

Beitrag von Postbyme »

Danke, klappt jetzt alles!
-------------------------------------------------------
Windows 10 1903 /Libre Office 6.3.3.2 (x64)

Antworten