Variablen aus SUB übergeben

Home-›Foren-›Outlook-›Outlook VBA-›Variablen aus SUB übergeben

4 Antworten anzeigen - 1 bis 4 (von insgesamt 4)
  • Autor
    Beitrag
  • #42074
    Unbekannt
    Teilnehmer

      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. Udo

      #146758
      MichaelBauer
      Teilnehmer

        In 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 Bauer

        #172610
        Unbekannt
        Teilnehmer

          Eine 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]

          #172631
          MichaelBauer
          Teilnehmer

            Hallo,
            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

          4 Antworten anzeigen - 1 bis 4 (von insgesamt 4)

          -