[solved]Formel verwenden (WEEKOFYEAR)

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

Moderator: Moderatoren

che
*
Beiträge: 12
Registriert: Do, 05.02.2004 16:25

[solved]Formel verwenden (WEEKOFYEAR)

Beitrag von che »

Hi Zusammen,

ich versuche gerade von einem gegebenen Datum die Kalenderwoche zu ermitteln.

Hier im Forum habe ich schon etwas gefunden und abgewandelt, komme aber irgendwie damit nicht weiter:

Code: Alles auswählen

Function funktionAufrufen ( value as Double ) As Double
' Variablen deklarieren
Dim oFunktion as Object
' com.sun.star.sheet.FunctionAccess holen
oFunktion = createUnoService("com.sun.star.sheet.FunctionAccess")
' als Argumente ein Array mit numerischen Werten.
' Sinnloserweise wird als Summanden einfach zweimal
' das Argument value verwendet
Dim aArgumente(0) As Variant

value = now()

aArgumente(0) = value

' Aufruf der SUM-Funktion mit Übergabe des Arrays
' mit den Werten die zu addieren sind
funktionAufrufen = oFunktion.callFunction( "WEEKOFYEAR", aArgumente() )

MsgBox funktionAufrufen
End Function
(Ja sieht schwer nach einem Code-Schnipsel von Stefan aus;-))

Egal welchen Wert ich für value angeben es klappt nicht (Datum, Zahl).

Nur irgendwie sehe ich den Fehler nicht;-(

Vielleicht sieht ihn einer von Euch (hoffe ich;-))
Zuletzt geändert von che am Mi, 11.10.2006 23:20, insgesamt 1-mal geändert.
che
*
Beiträge: 12
Registriert: Do, 05.02.2004 16:25

Beitrag von che »

Bin etwas weitergekommen und habe funktionierenden Code.

Code: Alles auswählen


Function  WeekOfYear
Dim FuncAcc as object, aResult as variant, oneDate as long, datum as variant
FuncAcc = createunoservice("com.sun.star.sheet.FunctionAccess")

oneDate = DateSerial(2006, 10, 11)
aResult= FuncAcc.callFunction("FUNCTION", array(oneDate))
print aResult

End Function

Nur scheint es nicht möglich zu sein die entsprechende Funktion (entweder in Deutsch KALENDERWOCHE bzw. in Englisch WEEKOFYEAR) dort einzugeben (Mit DAY, MONTH o. YEAR klappt es).

Es kommt immer irgendwie "NoSuchElement".

Wenn ich Stephan aber in folgendem Thread richtig verstanden habe müsste die Funktion "KALENDERWOCHE/WEEKOFYEAR" (die ja über Einfügen -> Funktion -> Datum&Zeit vorhanden ist auch für Macros zu Verfügung stehen.

viewtopic.php?t=3908&highlight=kalenderwoche

Wie bekommt man die tatsächlich vorhandenen Funktionen heraus?
che
*
Beiträge: 12
Registriert: Do, 05.02.2004 16:25

Beitrag von che »

So geht's:

Code: Alles auswählen

Function  WeekOfYear

Dim oFunktion as Object
Dim kw as double
oFunktion = createUnoService("com.sun.star.sheet.FunctionAccess")

Dim aArgumente(1) As Variant

aArgumente(0) = DateValue(Date())

aArgumente(1) = 0 

kw = oFunktion.callFunction( "WEEKNUM", aArgumente() )

MsgBox kw

End Function


Unter

http://www.dannenhoefer.de/faqstarbasi ... onen.html
findet man die Englischen Funktionsnamen.
Antworten