[VB 2010] Outlook-Mail-selektion erzwingen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von MayasEistee.

    [VB 2010] Outlook-Mail-selektion erzwingen

    Hallo liebe Community,

    bitte entschuldigt, wenn ich das Thema falsch eingeordnet habe, habe mich grade erst registriert. :saint:

    Ich bin noch VB-Neuling und möchte etwas umsetzen, weiß allerdings noch nicht ganz wie.
    Im Outlook soll eine Mail selektiert werden. Der Anhang dieser Mail soll in einem Ordner gespeichert werden.
    Daraufhin öffnet sich ein Dialog-Fenster mit besagtem Ordner in dem der Anhang gespeichert wurde - den man dann auswählen kann.
    Das funktioniert auch alles.
    Ich möchte nun eine Abfrage schreiben mit der der Anwender zur Selektion der Mail gezwungen wird.
    Ungefähr so:

    if Mail_nicht_selektiert then
    msgbox("Bitte selektieren...")
    Exit Sub
    else
    Anhang speichern
    end if

    Mein Code:

    VB.NET-Quellcode

    1. Dim olApp As New Microsoft.Office.Interop.Outlook.Application
    2. Dim olSel As MailItem = olApp.ActiveExplorer.Selection(1)
    3. Dim dheute As Date = DateTime.Today
    4. olSel.Attachments(1).SaveAsFile"I:\xyz\xyz\xyz\" & dheute & "_" & olSel.Attachments(1).FileName)


    Vielen Dank schon mal! :)
    Wilkommen :)

    Das ganze bezieht sich wohl ehr auf VBA.

    Du Hast ja folgende Code-Zeile:

    Visual Basic-Quellcode

    1. Dim olSel As MailItem = olApp.ActiveExplorer.Selection(1)

    Hier schaust du in deinem ActiveExplorer nach, was Selektiert (.Selection) ist. Und nimmst aus den Selektierten Elementen den Ersten Eintrag.
    Sprich: Du musst überprüfen, ob dene Selektion überhaupt Elemente enthält.

    ungetestet:

    Visual Basic-Quellcode

    1. Dim olApp As New Microsoft.Office.Interop.Outlook.Application
    2. IF olApp.ActiveExplorer.Selection.Count > 0 THEN
    3. Dim olSel As MailItem = olApp.ActiveExplorer.Selection(1)
    4. Dim dheute As Date = DateTime.Today
    5. olSel.Attachments(1).SaveAsFile"I:\xyz\xyz\xyz\" & dheute & "_" & olSel.Attachments(1).FileName)
    6. ELSE
    7. 'whatever...
    8. MsgBox("Bitte selektieren...")
    9. END IF



    LG Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    Hallo,

    vielen Dank für deine Mühe!
    Genau das war die Lösung. Und die hat mir auch direkt beim nächsten Fehler geholfen, der aufgetreten ist.
    Mein vollständiger Code:

    VB.NET-Quellcode

    1. If olApp.ActiveExplorer.Selection.Count > 0 Then
    2. Dim olSel As MailItem = olApp.ActiveExplorer.Selection(1)
    3. Dim dheute As Date = DateTime.Today
    4. If olSel.Attachments.Count > 0 Then
    5. olSel.Attachments(1).SaveAsFile("I:\x\y\z\" & dheute & "_" & olSel.Attachments(1).FileName)
    6. Else
    7. MsgBox("Bitte selektieren Sie die Mail mit entsprechendem Anhang!")
    8. Exit Sub
    9. End If
    10. Else
    11. MsgBox("Bitte selektieren Sie die Mail mit entsprechendem Anhang!")
    12. Exit Sub
    13. End If


    Eigentlich so einfach. Ich denke viel zu kompliziert! X/
    Gut ;)
    Hast du immer nur 1 Attachment oder können das auch mehrere sein?
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    immer den selben Namen
    Wenn das iwann zu Verwechslungen führen sollte, kannst du auch erst den Namen auf "XYZ" prüfen und dann den Anhang speichern.
    Aber wenn das für deine Anforderungen genügt, ist ja alles gut :)

    LG Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup: