Seite 1 von 1

ZUFALLSBEREICH() in Basiccode aufrufen

Verfasst: Mi, 18.05.2011 07:47
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?

Re: ZUFALLSBEREICH() in Basiccode aufrufen

Verfasst: Mi, 18.05.2011 08:26
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!

Re: ZUFALLSBEREICH() in Basiccode aufrufen

Verfasst: Mi, 18.05.2011 08:30
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

Re: ZUFALLSBEREICH() in Basiccode aufrufen

Verfasst: Mi, 18.05.2011 08:44
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

Re: ZUFALLSBEREICH() in Basiccode aufrufen

Verfasst: Mi, 18.05.2011 09:29
von komma4
Karolus hat geschrieben:Formel [x]englische Funktionsnamen benutzen
Kennt mein Calc (OOo 3.2.1/Linux) nicht... welche Version ist das?

Re: ZUFALLSBEREICH() in Basiccode aufrufen

Verfasst: Mi, 18.05.2011 10:00
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/

Re: ZUFALLSBEREICH() in Basiccode aufrufen

Verfasst: Mi, 18.05.2011 10:04
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?

Re: ZUFALLSBEREICH() in Basiccode aufrufen

Verfasst: Mi, 18.05.2011 10:13
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