Home-›Foren-›Outlook-›Outlook VBA-›Variablen aus SUB übergeben
- Dieses Thema hat 3 Antworten sowie 2 Stimmen und wurde zuletzt vor 09:36 um 11. August 2009 von MichaelBauer aktualisiert.
- AutorBeitrag
- 5. Juli 2007 um 00:33 #42074UnbekanntTeilnehmer
Hallo,
ich versuche mich zur Zeit an einer kleinen Routine, meine emails per Maus- Click als .MSG Datei zu speichern. Das habe ich auch schon hinbekommen. Aber ich möchte noch eine Auswahlbox, mit (ca.) 10 Auswahlbuttons, in dem ich die Kategorie z.B. BIT wähle. Die Datei sollte dann in das entsprechende Unterverzeichnis geschrieben werden. Ich habe versucht, das problem per UserForm zu lösen. Ich sehe jedoch keine Möglichkeit eine Variable aus der SUB- Routine \”BIT_Click()\” in meine Hauptroutine zu transferieren.
Beispiel
sub mein_hauptprg()
load userform1
userform1.show
MsgBox (?????????) <-- wie stelle ich es an, dass hier die Information aus BIT_Click() steht? end sub userform1: sub BIT_Click() mein_unterverz = \"BIT\" userform1.hide end sub Wahrscheinlich ist es ganz einfach, aber ich komm nicht drauf. Vielen Dank für jeden Tip. Udo5. Juli 2007 um 07:38 #146758MichaelBauerTeilnehmerIn diesem Fall würde ich dem Formular eine öffentliche Eigenschaft vom Typ String spendieren:[code]
Public Ergebnis as string
Sub BIT_Click()
…
Ergebnis = mein_unterverz
End Sub[/code]Ansprechen kannst Du das in mein_hauptprg über userform1.Ergebnis. Damit die Codeausführung auf Beenden des Formulars wartet, mußt Du das mit userform.Show 1 aufrufen.
Viele Grüße
Michael Bauer10. August 2009 um 09:46 #172610UnbekanntTeilnehmerEine elegante Lösung ist auch mit globalen Variablen zu arbeiten, welche Du mit
[php]
Global Variablenname
[/php]definierst.
[php]
Private Sub BIT_Click()
Variablenname = Dein Ergebnis
End Sub
[/php]Du hast dann projektweit Zugriff auf die in der Variable plazierten Daten
Um die Variable dann wieder freizuräumen, genügt folgende Zeile:
[php]
Variablenname = Nothing
[/php]11. August 2009 um 09:36 #172631MichaelBauerTeilnehmerHallo,
mit VB(A) hat Dein Vorschlag aber nichts zu tun. Und ein Nachteil globaler Variablen ist es, in umfangreicheren Projekten zu erkennen, wer die variable wann benutzt.Viele Grüße
Michael Bauer - AutorBeitrag