Mail per VBA öffnen und als TXT abspeichern



Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Mail per VBA öffnen und als TXT abspeichern
von: Markus
Geschrieben am: 12.07.2002 - 09:28:45

Hallo,

nachdem man mir so toll in diesem Forum erklärt hat, wie man Attachments von Outlook-Mails per VBA abspeichert.

Vielleicht kann mir doch jemand sagen, wie man per VBA in Excel Mails aus Outlook öffnet und als .txt abspeichert.

Attachments gehen so, wobei objMsg den Betreff der Mail enthält :

Set objOutlook = CreateObject("Outlook.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")

Set objFolder = objnSpace.Folders(Ordner1).Folders(Ordner2).Folders(Ordner3)

Set objMsg = objFolder.Items(1) ' Erstes Mail im objFolder

objMsg.Attachments.Item(Anlage_Nr).SaveAsFile Speicher_Pfad + objMsg.Attachments.Item(Anlage_Nr)

Ich habe es mit objMsg.SaveAsFile Speicher_Pfad + "test.txt" probiert. Das hat aber leider nicht geklappt.

Vielleicht kann mir jemand sagen, wie das klappt.
Und dann noch eins,

Wie deklariere ich objMsg als MailItem, damit ich alle Infos außer der Betreffzeile in eine Variable einlesen kann.

Hoffentlich kann mir jemand freundlicherweise helfen, den das Forum ist wirklich spitze.

Markus

nach oben   nach unten

Re: Mail per VBA öffnen und als TXT abspeichern
von: Hans W. Herber
Geschrieben am: 12.07.2002 - 10:13:10

Hallo Markus,

der folgende Code beantwortet beide Fragen, denk ab dran, dass in der Entwicklungsumgebung ein Verweis zur Microsoft Outlook Object Library hergestellt sein muss:


Sub SaveAttachement()
   Dim objOutlook As Outlook.Application
   Dim objnSpace As Outlook.NameSpace
   Dim objFolder As Outlook.MAPIFolder
   Dim objMsg As Outlook.MailItem
   Dim intCounter As Integer, intCount As Integer
   Dim arrText() As String
   Dim bln As Boolean
   Application.ScreenUpdating = False
   Set objOutlook = CreateObject("Outlook.Application")
   Set objnSpace = objOutlook.GetNamespace("MAPI")
   Set objFolder = objnSpace.Folders("Persönliche Ordner").Folders("Posteingang")
   intCount = objFolder.Items.Count
   Set objMsg = objFolder.Items(intCount)
   objMsg.Attachments.Item(1).SaveAsFile "c:\test.xls"
   Set objnSpace = Nothing
   Set objFolder = Nothing
   Set objMsg = Nothing
   Set objOutlook = Nothing
End Sub

hans

nach oben   nach unten

Nachfrage an Hans
von: Michael Scheffler
Geschrieben am: 12.07.2002 - 10:21:24

Hallo Hans,

wie kriegt man denn VBA dazu, dass es nicht mehr die lästige Outlook-Meldung "Ein Programm versucht..." einstreut, die auf Bestätigung wartet. Ich habe mir schon ein Zertifikat erzeugt und diese auch bei Outlook registriert.

Ich versteh' das nicht, wenn ich auch meinem Rechner auf mein Konto zugreife?

Gruß

MichA


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "VLookup Probleme mit Zahlen?"