| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY wird von NVIDIA zum Händler des Jahres gewählt - zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: funktions aufruf (902 mal gelesen)
|
rrrrough Mitglied

 Beiträge: 18 Registriert: 15.08.2003
|
erstellt am: 26. Mrz. 2004 12:33 <-- editieren / zitieren --> Unities abgeben:         
bin blutiger anfänger der vba programmierung und schlage mich mit folgendem problem herum: ich habe eine funktion in einem KLASSENMODUL z.B:. public Function ffunction(Name, Beschreibung) ... 'hier passiert was End Function und diese funktion soll jetzt von einem command-button in einer UserForm aufgerufen werden - gleichzeitig sollen parameter übergeben werden. IN USERFORM: Private Sub CommandButton1_Click() dim Name as String Name = Heiz dim Beschreibung as String Beschreibung = unkompetent ffunction(Name, Beschreibung) Me.Hide End Sub kann mir da jemand grundsätzliche hilfestellung geben? Ich weiss, ich weiss, blöde frage ...
vielen dank Ben
------------------ leute: vielen dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
harryk Mitglied Projektleiter
 
 Beiträge: 124 Registriert: 19.08.2003 Revit 2019, ACMep2019, F360
|
erstellt am: 26. Mrz. 2004 12:44 <-- editieren / zitieren --> Unities abgeben:          Nur für rrrrough
hallo, schieb die funktion in ein normales modul, dann sollte es klappen. funktionen in klassenmodulen werden über ein zugewiesenes objekt aufgerufen, aber dazu kommst du dann später irgendwann. oder du möchtest direkt mit klassen einsteigen. gruss, harry Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rrrrough Mitglied

 Beiträge: 18 Registriert: 15.08.2003
|
erstellt am: 26. Mrz. 2004 13:38 <-- editieren / zitieren --> Unities abgeben:         
danke für die schnelle antwort - also ich hab das gleich versucht - und es funktioniert nicht: es sind zwei dinge die mich jetzt: 1. wenn ich die funktion wie besprochen in ein modul packe und den funktionsaufruf im gleichen modul wie oben beschrieben ausführe - dann läuft die funktion. - funktioniert aber nicht wenn ich das vom commandButton aus erwirken will [ich kann actionScript (das kann ich immerhin) da würde der Aufruf ungefähr so aussehen: _parent.Modul1.ffunction())] Frage ist also: wie findet mein aufruf den richtigen weg zur funktion - oder sind die immer und überall gültig? 2. wenn beide, funktion und aufruf_der_funktion in einem Modul liegen läuft die ganze sache auch nur dann wenn ich nur EINEN parameter übergebe; z.B. Name - versuche ich beide gleichzeitig zu übergeben ffunction(Name, Beschreibung) wehrt sich schon der Editor [Syntaxfehler oder er will ein =] Frage: was mache ich falsch wenn ich meherer parameter gleichzeitig an eine funktion übergeben will? wirklich tausend dank ... ------------------ leute: vielen dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler

 Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012
|
erstellt am: 26. Mrz. 2004 13:50 <-- editieren / zitieren --> Unities abgeben:          Nur für rrrrough
Wenn das wirklich eine Klasse ist, dann: Code:
Dim MeineKlasse as New KlassenName 'hier den Name von deiner KlasseDim Name as String Name = "Heiz" Dim Beschreibung as String Beschreibung = "unkompetent" Call MeineKlasse.ffunction(Name, Beschreibung) Public Function ffunction(Name as String, Beschreibung as String) ... 'hier passiert was End Function
Wenn die Funktion in einem Modul ist, dann ohne Dim MeineKlasse as New KlassenName 'hier den Name von deiner Klasse und der Aufruf: Call ffunction(Name, Beschreibung) Also Strings immer in "" klammern, und bei Definitionen den Typ angeben: Public Function ffunction(Name as String, Beschreibung as String) Ja, und dann über Call aufrufen. ------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
harryk Mitglied Projektleiter
 
 Beiträge: 124 Registriert: 19.08.2003
|
erstellt am: 26. Mrz. 2004 14:53 <-- editieren / zitieren --> Unities abgeben:          Nur für rrrrough
|
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler

 Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012
|
erstellt am: 26. Mrz. 2004 15:18 <-- editieren / zitieren --> Unities abgeben:          Nur für rrrrough
Zitat: Original erstellt von harryk: jo, sorry, sollte aber auch mit modulname.funktion(...) gehen.gruss, harry
Klar, geht das. Ist aber nicht nötig, wenn es eindeutig ist. In der Klasse schon. ------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rrrrough Mitglied

 Beiträge: 18 Registriert: 15.08.2003
|
erstellt am: 29. Mrz. 2004 08:12 <-- editieren / zitieren --> Unities abgeben:         
vielen dank für die antworten! werde die erkenntnisse sofort verwerten. ... ich hab mir jetzt doch ein vba-für anfänger buch gekauft, um euch nicht weiter mit diesen simplen zuweisungs-fragen nerven zu müssen ... also demnächst mit "richtigen" fragen. ------------------ leute: vielen dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |