Zur Programmierung in OpenOffice folgende Hinweise:
Zur Übernahme der Zellwerte aus der Arbeitsmappe und zum Schreiben von Werten in die Arbeitsmappe muss die Zelle (im Unterschied zu EXCEL) jeweils als Objekt definiert werden. Die Programmierung der Berechnung der Lohnsteuer und der Sozialabgaben in BASIC ist identisch. Um eine Zelle als Objekt in einer Arbeitsmappe zu definieren und den Wert daraus zu übernehmen erfolgt dies folgendermaßen:
' aktuelles Dokument holen
oCalcDokument = ThisComponent
' erstes Tabellenblatt holen
oTabellenblatt = oCalcDokument.Sheets(0)
oZelle = oTabellenblatt.getCellRangeByName("B2")
re4 = oZelle.Value 'Bruttolohn
Die Übergabe eines Wertes in eine Zelle dann entsprechen:
oZelle = oTabellenblatt.getCellRangeByName("B21")
oZelle.Value = stresult(0) 'Steuer im Lohnzahlungszeitraum
Bei der Übergabe von Werten an eine Funktion kann man diese mit dem Funktionsaufruf übergeben und den Funktionskopf formulieren:
Sub freibetraege(jre4, alter1, stkl) As Double
und den Funktionsaufruf entsprechend:
ergebnis = freibetraege(jre4, alter1, stkl)
oder aber die Werte Global formulieren, sodass sie für jede Funktion sichtbar sind:
Global result As Double
Global stresult(8) as Double 'Array für Steuerwerte
Global sozresult(4) as Double ' Array für Sozialabgaben
Das Kopieren des Makros in die eigene Arbeitsmappe erfolgt am Einfachsten, indem man ein Modul in der eigenen Mappe anlegt und den kopierten Inhalt des Moduls 'lohnsteuer2010' einfügt. Die anzusprechenden Zellen muss man dann entsprechend an die eigenen Mappe anpassen.
|