Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Mails mit Anhang

Begonnen von ChrisBer, Dezember 08, 2012, 17:30:38

⏪ vorheriges - nächstes ⏩

ChrisBer

Hallo Leute,

ich habe jetzt ca. 1 Woche das Internet durchsucht und auch dieses Forum, leider scheint es keine Lösung zu geben für mein Problem, was mich doch sehr wundert, da es eigentlich ein recht häufig vorkommendes Problem sein könnte.
Ich bekomme viele Mails in Outlook, 99% mit Anhang.
Gibt es wirklich rein garkeine Möglichkeit, diese Automatisch in eine Tabelle zu speichern MIT Anhang??? Durch den Assitenten kann man zwar die Mails übernehmen, jedoch steht bei Anahng nur 0, -1, also ja oder nein.
Gibt es keine Möglich, mit VBA oder sonst irgendwie die tatsächlichen Anhänge automatisch in einem Ordner zu speichern und diese in der Tabelle als "Anhang" zu speichern?????
Liebe Grüße

DF6GL

Hallo,

klar gibt es das alles....


Per Outlook-Automation kannst Du die Mails als msg-Dateien und die Anhänge als separate Dateien irgendwo auf die HD speichern.  Anschließend diese Dateinamen (evtl. auch nur den msg-Dateinamen) als Text in enstpr. Tabellenfelder ablegen. Die Anzeige der jeweiligen Mail kann mit z. B. Followhyperlink oder Shellexecute erfolgen.


Ein Speichern der Mail als solche und auch des Anhangs als solcher (d. h. die Inhalte der Dateien, nicht nur den Dateinamen)  in Tabellen ist nicht anzuraten.




ChrisBer

Vielen Dank für die Antwort. Kennst du eine Seite, die diesen Prozess möglichst gut beschreibt bzw wo man anfangen kann zu lesen?

DF6GL

Hallo,

naja, Seiten wirst Du ja sicher selber finden (googlen...)


Um Attachments von ungelesenen Email in einen Ordner mit Namen des Absenders im Verzeichnis "C:\Temp\"  zu speichern  (Verweis auf die Outlook-Library setzen nicht vergessen!):

Private Sub SaveMailAttachments()
Dim Ordnername As String
Dim objPosteingang As MAPIFolder
Dim objMail As MailItem
On Error Resume Next

Set objPosteingang = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
For Each objMail In objPosteingang.Items

   With objMail
           If .UnRead Then
               Anzahl = .Attachments.Count
               If Anzahl > 0 Then
                   Ordnername = "C:\temp\" & objMail.SenderName
                   MkDir Ordnername

                   For i = 1 To Anzahl
                   .Attachments.Item(i).SaveAsFile Ordnername & "\" & .Attachments.Item(i).FileName
                   Next i

               End If
           End If
    End With
Next objMail

Set objPosteingang =Nothing
End Sub

ChrisBer

Hey! Vielen Dank für die Antwort, es scheint auch z ufunktionieren.
Leider erkenne ich noch nicht, wie ich dadurch auch alle Dateien automatisch einem olefeld in meiner db zuordnen kann. Er speichert Sie zwar ab, aber wie bekomme ich sie automtisch zum richtigen Datensatz dazu in meiner db.?

Manfred S

Hallo,
die Ausgangsfrage war irgendwie anders, aber verfolge einmal diesen Link. Dies sollte Deiner Fragestellung umfänglich entsprechen und zielführend sein:

http://www.access-im-unternehmen.de/865

Gruß