🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
TAGE360
TAGE360
Mag ein ganz dummer Anfängerfehler sein.
Aber folgender Code führt bei mir zu einer Fehlermeldung (Fehler Klammerschachtelung)
Sub Main
DIM i as Integer
i=TAGE360("01.01.2000"; JETZT())
End Sub
Den Teil ab TAGE360 habe ich aus der Dokumentation kopiert. Bin ziemlich ratlos. Ich kann nicht erkennen wo die Klammerung falsch sein soll.
Habe das in Libre office 5.2.4 (Windows 10) und 5.3 (OS X Sierra) ausprobiert. Gleiches Ergebnis
Aber folgender Code führt bei mir zu einer Fehlermeldung (Fehler Klammerschachtelung)
Sub Main
DIM i as Integer
i=TAGE360("01.01.2000"; JETZT())
End Sub
Den Teil ab TAGE360 habe ich aus der Dokumentation kopiert. Bin ziemlich ratlos. Ich kann nicht erkennen wo die Klammerung falsch sein soll.
Habe das in Libre office 5.2.4 (Windows 10) und 5.3 (OS X Sierra) ausprobiert. Gleiches Ergebnis
Re: TAGE360
Eine Formel beginnt grundsätzlich mit einem Gleichheitszeichen. Bei mir gibt die Hilfe als Beispiel:peroed hat geschrieben:i=TAGE360("01.01.2000"; JETZT())
=TAGE360("2000-01-01"; JETZT())
Hast du schon mal einen Blick in die Writer-FAQ und in die Calc-FAQ des Forums geworfen?
Für jeden vor dem Beginn seiner Seminararbeit ein unbedingtes MUSS: http://openoffice-uni.org/
Für jeden vor dem Beginn seiner Seminararbeit ein unbedingtes MUSS: http://openoffice-uni.org/
Re: TAGE360
Ich rede hier nicht von dem Inhalt einer Zelle. Da hast Du sicher recht.
Hier geht es um Libre Basic Programmierung in einem Makro. Da fängt keine Formel mit einem = Zeichen an.
Hier geht es um Libre Basic Programmierung in einem Makro. Da fängt keine Formel mit einem = Zeichen an.
Re: TAGE360
Wahrscheinlich liegt der Fehler in der Schreibweise des Datums. Denn bei dieser Schreibweise =TAGE360("01.01.2000"; JETZT()) gibt die Zelle "WERT!" aus.peroed hat geschrieben:Ich rede hier nicht von dem Inhalt einer Zelle. Da hast Du sicher recht.
Von der Makro-Programmierung habe ich tatsächlich nur wenig Ahnung.
Hast du schon mal einen Blick in die Writer-FAQ und in die Calc-FAQ des Forums geworfen?
Für jeden vor dem Beginn seiner Seminararbeit ein unbedingtes MUSS: http://openoffice-uni.org/
Für jeden vor dem Beginn seiner Seminararbeit ein unbedingtes MUSS: http://openoffice-uni.org/
Re: TAGE360
Leider nicht. Und ich habe die Funktion ja aus der Doku kopiert https://help.libreoffice.org/Calc/DAYS360/de
Re: TAGE360
Hallo,
der Aufruf einer Calc-internen Funktion erfolgt etwas aufwändiger:
der Aufruf einer Calc-internen Funktion erfolgt etwas aufwändiger:
Code: Alles auswählen
oFunctionAccess = createUnoService( "com.sun.star.sheet.FunctionAccess" )
Dim args(2) As Variant
args(0) ="1.2.2017"
args(1)="1.3.2017"
args(2)=0
result = oFunctionAccess.callFunction("DAYS360", args() )
Gruß,
mikele
mikele
Re: TAGE360
Hallo
Wieso kommst du auf die Idee einen Funktionsaufruf aus der Dokumentation für Calc in die Basic-IDE reinzukopieren
1. Falsche Syntax: Argumente werden in Basic mit Komma getrennt nicht mit Semicolon.
2. Calcfunktionen können nicht in Basic einfach so benutzt werden wie in Calc, …
3. … und schon gar nicht mit dem deutsch lokalisiertem Funktionsnamen
@mikele: Basic ist schon extrem seltsam, Datümer in beliebig formatierten Zeichenketten funktionieren tatsächlich, während die Rückgabe der Runtim-funktion now erstmal explizit in eine Fliesskommazahl gewandelt werden muss - verstehe das wer will!
Wieso kommst du auf die Idee einen Funktionsaufruf aus der Dokumentation für Calc in die Basic-IDE reinzukopieren


1. Falsche Syntax: Argumente werden in Basic mit Komma getrennt nicht mit Semicolon.
2. Calcfunktionen können nicht in Basic einfach so benutzt werden wie in Calc, …
3. … und schon gar nicht mit dem deutsch lokalisiertem Funktionsnamen
Code: Alles auswählen
sub test()
funcaccess = createUnoService("com.sun.star.sheet.FunctionAccess")
ddd = cdbl(datevalue("2000-01-01"))
print funcaccess.callFunction("DAYS360",array(ddd, cdbl(now) ) )
'now ist hier die entsprechende Laufzeitfunktion aus Basic, nicht die aus Calc'
End Sub
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: TAGE360
Sorry, mein Fehler.
Ich hatte nach LibreOffice Datumsfunktionen gesucht und dabei TAGE360 gefunden. Dabei übersehen, dass dies eine Calc-Funktion ist, die es in Basic nicht gibt.
Allen die geholfen haben, herzlichen Dank
Ich hatte nach LibreOffice Datumsfunktionen gesucht und dabei TAGE360 gefunden. Dabei übersehen, dass dies eine Calc-Funktion ist, die es in Basic nicht gibt.
Allen die geholfen haben, herzlichen Dank
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.