eigene Funktionen erstellen?

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: eigene Funktionen erstellen?

von mechiil » Di, 11.10.2005 14:11

Oh...da muss ich wohl relativ blind die hilfe durchforstet haben...
Soweit ich das sehe hat das aber nichts direkt mit addins zu tun? Trotzdem danke. Ist genau das was wir hier gerade rausgefunden haben nochmal schön zusammengefasst :D
Habe da aber auch schon einen netten abschnitt in der hilfe über "addins selbst programmieren" gefunden, der sich sehr spannend anhört. Momentan geht es aber auch über makros.

Nochmal vielen dank für eure nette hilfe.

von Lenu » Di, 11.10.2005 09:13

mechiil hat geschrieben:ps.: Die sache mit den addins würde mich auch noch sehr interessieren
Wenn Du im Hilfe-Index "Funktionen" eingibst und dort "benutzerdefinierte" anklickst, kommst Du zu einem kurzen Text mit Link zum Programmieren von Funktionen als AddIns.
Gruss

von mechiil » Fr, 07.10.2005 12:34

Danke für eure hilfe. Habe die funktion nun in "Standard"->"Module1" erstellt und mit dem aufruf MeineFunktion(2;5) klappt es :D

(Wenn die parameter mit "," getrennt sind gibts einen basic-laufzeitfehler..."argument nicht optional"...denke aber das ist normal so)

Wenn ihr das rausfindet, wie man die eigenen funktionen auch in einer eigenen bibliothek sammeln kann wäre es klasse, wenn ihr das hier nochmal posten könntet.

Vielen dank nochmal...ihr habt mir sehr geholfen :D

ps.: Die sache mit den addins würde mich auch noch sehr interessieren...bin aber vorerst mal zufriedengestellt :D

von Toxitom » Fr, 07.10.2005 08:58

Hey Stefan,
Das sich andere für den genannten Zweck in der üblichen Form nicht laden lassen erstaunt mich zunächst, aber vielleicht übersehe ich was.
Scheint tatsächlich ein Fehler zu sein. Die Funktion in einer anderen Bibliothek als "Standard" wird zwar erkannt (daher auch #WERT und automatische Umwandlung in Grossbuchstaben), aber nicht ausgeführt. Scheitert schon am Aufruf!
WErden wir mal beobachten.

Gruss
Thomas

von Stephan » Do, 06.10.2005 23:20

Ich nehme fast an, dass er die neue funktion gar nicht kennt.


Ich denke in der Zelle steht: #WERT! oder nicht? Bloß dann ist doch die Funktion bekannt, denn sonst stünde dort: #NAME?
Muss ich da noch irgendwas aktualisieren oder so?


Nein.
Es wundert mich nämlich auch, dass er sie mir eben nicht im funktionsautopiloten zur verfügung stellt.
das ginge nur mit AddIn, bei Funktionen in Basic ist der Zustand den Du beschreibst normal (es ist also nicht wie in Excel)

Mir scheint der Fehler eher hier:
So..habe nun den basic-editor entdeckt )
extras -> makros -> makro...
Dann habe ich unter "makros verwalten" eine neue bibliothek erstellt "eigene".
Dann unter "eigene" ein neues Modul "math".
Angeklickt und auf "Bearbeiten". Dann öffnet sich der Basic-Editor.


Denn wie soll eine Funktion ausgeführt werden wenn das Modul doch garnicht geladen wird, oder lädst Du es? Obwohl mir da ein einfaches

Code: Alles auswählen

GlobalScope.BasicLibraries.LoadLibrary()
als Autostartmakro im Moment auch nicht hilft.

Lösung sollte in jedem Fall sein die Funktionen in einem Modul der Bibliothek "Standard" von OOo zu erstellen.

Das sich andere für den genannten Zweck in der üblichen Form nicht laden lassen erstaunt mich zunächst, aber vielleicht übersehe ich was.




Gruß
Stephan

von mechiil » Do, 06.10.2005 22:10

Es klappt leider trotzdem nicht...

Ich nehme fast an, dass er die neue funktion gar nicht kennt. Muss ich da noch irgendwas aktualisieren oder so?
Es wundert mich nämlich auch, dass er sie mir eben nicht im funktionsautopiloten zur verfügung stellt.

von Toxitom » Do, 06.10.2005 20:15

Hey mechiil

das Forum ist schon ok.
Ich kann in Calc nun in eine Zelle beispielsweise eingeben =MeineFunktion(2,2)
Kleiner Fehler: müsste heissen: =MeineFunktion(2;2) Parameter werden in Calc mit dem Strichpunkt (;) getrennt!!!.
Dann sollte es schon funktionieren.
In der Basic-Formel werden die Parameter übrigens mit Kommas getrennt, also aufpassen!

Gruss
Thomas

von mechiil » Do, 06.10.2005 17:52

So..habe nun den basic-editor entdeckt :o)
extras -> makros -> makro...
Dann habe ich unter "makros verwalten" eine neue bibliothek erstellt "eigene".
Dann unter "eigene" ein neues Modul "math".
Angeklickt und auf "Bearbeiten". Dann öffnet sich der Basic-Editor.

Hier kann ich dann zB die obige funktion einfügen...

Sieht dann so aus:

Code: Alles auswählen

REM  *****  BASIC  *****

Function MeineFunktion(a, b)
   MeineFunktion = 2*a+2*b
End Function

Sub Main

End Sub
Irgendwie funzt das aber nicht. Ich kann in Calc nun in eine Zelle beispielsweise eingeben =MeineFunktion(2,2). Dann müsste da ja 8 rauskommen. Bei mir steht da allerdings immer #WERT!. Ich nehme an ich habe da was falsch gemacht/verstanden?
MeineFunktion wird auch nicht im funktionsautopiloten angezeigt.

(wenn das das falsche forum ist bitte sagen :wink: ...dachte nur dass ich den thread weiterführen sollte.)

von mechiil » Do, 06.10.2005 13:37

Super! Das klingt genau nach dem was ich suche :D
Die funktionen kann ich ja auch in jedem beliebigen texteditor schreiben...oder? Ist das vba-script?
Habe nur nicht genau rausbekommen wo ich die dann hinspeichern muss.

OpenOffice\share\basic\ ??
OpenOffice\user\basic\ ??
Einfach neues xba-file anlegen?

Oder liege ich da falsch?

Schöne Grüße

von Toxitom » Mi, 05.10.2005 21:09

Hey Mechiil,
Kann ich die vorhandene formelsammlung eigentlich mit eigenen funktionen erweitern? Wenn ja, wie funktioniert das?
Na ganz einfach: Du schreibst die Funktion in Basic - und speicherst Sie beispielsweise am Ort "Meine Makros". Dann werden Sie immer automatisch mitgeladen. Dann kannst du sie ganz normal aufrufen:

Beispiel einer selbstgeschriebenen Funktion:

Code: Alles auswählen

Function MEINEFUNKTION(a , b)
	c= 2*a+2*b
	MeineFunktion = 2*a+2*b
End Function
Jetzt schreibst du beispielsweise in A1 = 2, in A2 = 3 und in A3 deine Formel, also =meineFunktion(A1; A2) . Deien Formel erwartet zwei Parameter, die werden jetzt entsprechend bearbeitet und als Ergebnis kommt 10 raus, und das steht in der Zelle.

Und so kannst su beliebige Formeln erzeugen :)

Gruss
Thomas

eigene Funktionen erstellen?

von mechiil » Mi, 05.10.2005 15:52

Hallo,

es gibt ja den sehr schönen funktionsautopiloten mit vielen vordefinierten funktionen. Kann ich die vorhandene formelsammlung eigentlich mit eigenen funktionen erweitern? Wenn ja, wie funktioniert das?

Schöne grüße :)

Nach oben