Hallo, ich bin gerade dabei ein VBA-Makro, dass ich für Solidworks (http://www.solidworks.de/) geschrieben habe, ordentlich zu strukturieren. Hierbei bin ich auf das folgende Problem gestoßen. Ich rufe während der Makroausführung ein Dialogfenster auf. Meine Frage an Euch: Wie bekomme ich die vom Benutzer gemachten Eingaben nach Beendigung des Dialogs zurückgegeben? Geht dies in VBA nur über globale Variablen? Mit freundlichen Grüßen Guido
Gast
#4099398
Ich hab kein Solidworks hier aber ich denke, dass ein VBA-Dialogfenster unabhängig von der jeweiligen Applikation ist.
1 | |
2 | |
3 | |
4 | |
5 | |
enthält den eingegebenen Wert in der Variable "rueckgabe"
Hallo, tomal schrieb: > Ich hab kein Solidworks hier aber ich denke, dass ein VBA-Dialogfenster > unabhängig von der jeweiligen Applikation ist. stimmt, das gleiche Problem hätte ich wohl auch in Word, Excel, etc. Ich habe nicht nur einen, sondern mehrere Rückgabewerte. Aus diesem Grund habe ich ein Dialogfenster erstellt. Allem Anschein nach gibt es nur die Möglichkeit die Variablen als "public" zu deklarieren, ihnen gegebenenfalls einen Vorgabewerte mitzugeben und den Dialog aufzurufen. Innerhalb des Dialogs kann ich dann auf die Werte zugreifen und sie so zurückgeben.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
Dies funktioniert so weit auch. Allerdings hat das Ganze den "Touch" von globalen Variablen. Brrrr.... da schüttelt es mich. Mit freundlichen Grüßen Guido
Gast
#4099447
Ich hab ein Form "UserForm1" mit einem Textfeld "TextBox1" angelegt. Damit funktioniert sowohl die Initialisierung als auch das Speichern aktueller Werte in beliebige Variablen wenn man das entsprechende Ereignis der Form ausnützt. Als Beispiel das einfache Beenden der Form über "X". Kann aber auch direkt bei Änderungen oder mit einem OK-Button erfolgen. Modul code
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
Form code
1 | |
2 | |
3 | |
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.