ZUFALLSBEREICH() in Basiccode aufrufen

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

Moderator: Moderatoren

clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

ZUFALLSBEREICH() in Basiccode aufrufen

Beitrag von clag »

Hallo Kenner und Könner,

hier komm ich mal wieder nicht auf den korrekten Basiccode
ich möchte in einem Makro die Calc Funktion ZUFALLLSBEREICH() bzw ZUFALLSZAHL() ausführen, aber ich habe keinen Erfolg dabei

Code: Alles auswählen

oFunctionAccess = createUnoService("com.sun.star.sheet.FunctionAccess")
Dim args( 1 ) As double
   args(0) = 1
   args(1) = 25
result = oFunctionAccess.callFunction( "RANDBETWEEN", args() )
msgbox result
bringt die Fehlermeldung
"BASIC-Laufzeitfehler.
Es ist eine Exception aufgetreten
Type: com.sun.star.container.NoSuchElementExcept
Message: ."

ebenso bei

Code: Alles auswählen

oFunctionAccess = createUnoService("com.sun.star.sheet.FunctionAccess")
result = oFunctionAccess.callFunction( "RAND" )
msgbox result
was mach ich falsch?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: ZUFALLSBEREICH() in Basiccode aufrufen

Beitrag von komma4 »

clag hat geschrieben:was mach ich falsch?
Du nutzt nicht die Suchfunktion hier im Forum, liest keine Dokumentation und erinnerst Dich nicht an die Antworten zu Deinen eigenen Fragen.

3 grosse Fehler!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
bst
*****
Beiträge: 222
Registriert: Mo, 18.01.2010 16:14
Wohnort: Ilsfeld

Re: ZUFALLSBEREICH() in Basiccode aufrufen

Beitrag von bst »

Morgen,

ZUFALLSZAHL benötigt hier (LibreOffice 3.3.0) ein leeres Array als zweiten Parameter, ZUFALLLSBEREICH funktioniert hier nur in Deutsch.

cu, Bernd
--

Code: Alles auswählen

Sub x
	oFunctionAccess = createUnoService("com.sun.star.sheet.FunctionAccess")
	result = oFunctionAccess.callFunction( "RAND", array() )
	msgbox result
End Sub

Sub y
	oFunctionAccess = createUnoService("com.sun.star.sheet.FunctionAccess")
	result = oFunctionAccess.callFunction( "ZUFALLSBEREICH", Array(10, 15) )
	msgbox result
End Sub
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: ZUFALLSBEREICH() in Basiccode aufrufen

Beitrag von Karolus »

Hallo
Hier scheint sich eine Änderung eingeschlichen zu haben, bei Verwendung der deutschen Funktionsbezeichnung funktioniert das.*** (zumindest im Fall "RANDBETWEEN→ZUFALLLSBEREICH" )

***Ansonsten fällt mir gerade auf, das → Extras →Optionen →xxCalc →Formel [x]englische Funktionsnamen benutzen
nicht alle Funktionnamen übersetzt sondern grob geschätzt nur ca 95% !!

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: ZUFALLSBEREICH() in Basiccode aufrufen

Beitrag von komma4 »

Karolus hat geschrieben:Formel [x]englische Funktionsnamen benutzen
Kennt mein Calc (OOo 3.2.1/Linux) nicht... welche Version ist das?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: ZUFALLSBEREICH() in Basiccode aufrufen

Beitrag von Karolus »

Hallo Winfried
komma4 hat geschrieben:
Karolus hat geschrieben:Formel [x]englische Funktionsnamen benutzen
Kennt mein Calc (OOo 3.2.1/Linux) nicht... welche Version ist das?
Das ist LO 3.3.2 mit seperat installierter deutschen Lokalisierung (Linux .rpm )
http://de.libreoffice.org/download/
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: ZUFALLSBEREICH() in Basiccode aufrufen

Beitrag von clag »

Hallo bst,

erst einmal allerbesten Dank für deine sinnige und hilfreiche Antwort,
hat auch auf meinem System beides sofort prima funktioniert, auch die Abwandlung mit Dim args(1)
Weißt du warum gerade für den ZUFALLSBEREICH() die deutsche Bezeichnung verwendet wird,
obwohl überall geschrieben steht das in einem Makro die englische Funktionsbezeichnung Bezeichnung verwendet werden muss?

Ich habe mir drei Tabellen angesehen die die englischen und deutschen Funktionsbeschreibungen gegenüberstellen
um die richtige Übersetzung für den Fall des Aufrufs in einem Makro zu haben,
in allen wurde ZUFALLSBEREICH mit RANDBETWEEN übersetzt..

@ Karolus
diesen Eintrag
Karolus hat geschrieben:→ Extras →Optionen →xxCalc →Formel [x]englische Funktionsnamen benutzen
finde ich/ gibt es nicht in OOo3.3.0.


@ komma4
Hey super, klasse Antwort,

Was ich wie nutze, was ich lese und woran ich mich erinnere entzieht sich ganz sicher deinem Wissen.

Das du dieses aber so behauptest und sonst nichts weiter, zeigt eher das es die wohl nicht um sachliche und hilfreiche Antwort ging.
Doch du bist schon ein ganz toller Typ,
deshalb kannst bestimmt auch erklären in welcher Form sich aus meiner ersten (von dir verlinkten) Frage zum Thema eine Antwort auf diese Frage ableiten lässt, oder?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
bst
*****
Beiträge: 222
Registriert: Mo, 18.01.2010 16:14
Wohnort: Ilsfeld

Re: ZUFALLSBEREICH() in Basiccode aufrufen

Beitrag von bst »

Hi clag,
Weißt du warum gerade für den ZUFALLSBEREICH() die deutsche Bezeichnung verwendet wird,
Nein. Und FWIW, bei den Excel 2003 Add-Ins Analysefunktionen ist das ähnlich, da ist das M.E. ganz einfach ein Bug.

cu, Bernd
Antworten