ahstax
Goto Top

Multipage aufrufen möglich?

In Multipage Textfeld aus Vorgabe füllen?

Hallo miteinander,

Ich bin mir nicht sicher, ob ich das Prinzip "MultiPage" schon verstanden habe, weshalb ich hier mit meinem "Wissen" mal zum allgemeinen Amüsement beitragen möchte...! face-wink

In Outlook sollen eingegangene Mails auf gewisse Parameter hin überprüft werden (Absender, Betreff...). Wenn die Prüfung negativ ausfällt, soll eine Eingangsbestätigung versendet werden.
Ich in einem UserForm eine Multipage vorgesehen (zumindest ist das der Plan...), die vier Seiten hat.
Wenn ich auf Seite 1 auf einen Button klicke soll ein Sub abgearbeitet werden und das Ergebnis der Abarbeitung in einem Textfeld auf Seite 2 des Multipages angezeigt werden.
Nach allem, was ich bis dato gelesen habe, ist mir ne Lösung dazu recht fern...

Eine Frgae ist, ob das überhaupt funktioniert.
Muss das Sub Teil des Formulars sein oder kann es auch in einem Modul sein?

Aktiuell ist es in einem Modul und der Code zum Füllen des Textfeldes sieht so aus:

With frmEingangsbestaetigungen01.MultiPage1.Page03Betreff
 .TextBoxExceptZeichen.Text = _
  strExceptSubject
End With

Kann mir jemand weiter helfen? Bin ich irgendwo falsch abgebogen?

Danke schon jetzt.

Grüße,
Andreas

Content-ID: 172587

Url: https://administrator.de/contentid/172587

Ausgedruckt am: 16.11.2024 um 23:11 Uhr

steini84
steini84 05.09.2011 um 14:32:45 Uhr
Goto Top
Hallo,

die Multipage ist teil eines Formulars.

Du kannst aber das Sub in ein Modul legen und mit

Call Subname

aufrufen.

Dafür muss aber das Sub Public sein:

Public Sub [Name]

End Sub

Soll das Sub eh nur im Formular ausgeführt werden währe ein

Privat Sub [Name]

End Sub

im Formularquelltext besser.

Sind Zeile 01 - 04 des Codes in deinem Post der gesamte Code des Subs?
Denn wenn ja kopier den einfach in das Click-Ereignis.
Wenn du im Entwurfsmodus doppelt auf den Button klickst, wechselst du automatisch in denEditor und ein Click-Ereignis wird direkt erstellt, wenn noch nicht vorhanden.

MfG Steini
ahstax
ahstax 06.09.2011 um 09:42:59 Uhr
Goto Top
Hallo Steini,

Danke für Deine Antwort.
Nur der Vollständigkeit halber vorab: Virtuosität und Eleganz sind nicht unbedingt meine Stärken beim POrogrammieren...

Das Formluar wird aus einem "Public Sub MAIN_LBStart()" heraus aufgerufen. Darin ist enthalten:

...
    With frmEingangsbestaetigungenV01.MultiPage1.Pages(0)
        .txtLetztBestAbsenderName.Text = _
            lastBestaetigteMailSenderName
        .txtLetztBestReceivedTime.Text = _
            lastBestaetigteMailReceivedTime
        .txtLetztBestSubject.Text = _
            AuszuglastBestaetigteMailSubject
        .txtBetreffMarkText.Text = _
            EinstellungBestMailMarkierungText
        .chkbxBestMailMarkieren.Value = _
            EinstellungBestMailMarkieren
        .optbutNormalBetrieb.Value = _
            EinstellungFunktionsTestNorm
        .optbutFunktionsTestMail.Value = _
            EinstellungFunktionsTestMail
        .optbutFunktionsTestTest.Value = _
            EinstellungFunktionsTestTest
    End With
    With frmEingangsbestaetigungenV01
        .StartUpPosition = 1
        .Show vbModeless
    End With
...

Das Formular enthält, wie erwähnt, mehrere Seiten einer MultiPage. Die Felder werden hier wie gewünscht gefüllt. Auf Seite 2 (Pages(0)) ist der Button, bei dessen Klick der Code

Private Sub cmdExceptSubject_Click()
    
    Call LB_ExceptFuellenSubjectAuslesen01
    MultiPage1.Value = 1
    
End Sub

ausgeführt wird. Das aufgerufene "Public Sub LB_ExceptFuellenSubjectAuslesen01()" enthält unter anderem die oben stehenden Zeilen

...
 With frmEingangsbestaetigungen01.MultiPage1.Pages(1)
   .TextBoxExceptZeichen.Text = _
    strExceptSubject
 End With
...

Aus einem mir nicht ganz klaren Grund funktioniert die Übergabe der Daten beim Aufruf von MAIN_LBStart, beim Aufruf von LB_ExceptFuellenSubjectAuslesen01 aber eben nicht...

Sonnige Grüße,
Andreas face-wink
steini84
steini84 06.09.2011 um 15:18:06 Uhr
Goto Top
Hi,

im Sub MAIN_LBStart heisst dein Form frmEingangsbestaetigungenV01 und in LB_ExceptFuellenSubjectAuslesen01 frmEingangsbestaetigungen01

Muss das evtl. gleich lauten, da es sich doch um das selbe Formular handelt oder?
Aber eigentlich sollte eine Fehlermeldung erscheinen, wenn es das andere Formular nicht gibt.

Da ich sonst nur in Excel VBA benutzen kenn ich mich mit Outlook nich so gut aus.
Weist du strExceptSubject einen Wert zu oder ist das eine Systemvariable die Outlook selbst zuweist?

MfG Steini
ahstax
ahstax 06.09.2011 um 15:34:54 Uhr
Goto Top
Puuhhh... Das ist jetzt...


peinlich...

Der Vollständigkeit halber: In der Variablen strExceptSubject ist der Betreff der aktuell markierten Mail enthalten. Der wurde vorher bereits via
strExceptSubject = Outlook.MailItem.Subject
übergeben.

DANKE für Deine Zeit und Mühe!!! face-wink
steini84
steini84 06.09.2011 um 15:46:31 Uhr
Goto Top
Bitte bitte face-smile

Eingabefehler!
Ein Kommentar muss mehr als 30 Zeichen enthalten! Bitte geben Sie einen aussagefähigen Kommentar ein.