Outlook-Maileintrag auslesen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Outlook-Maileintrag auslesen
von: Peter Egloff
Geschrieben am: 11.03.2005 16:16:50
Ich möchte den Inhalt (Text) eines offenen Mails mit Copy/Paste in das Excel kopieren (mit VBA) - Wer hat eine einfache Lösung?

Bild

Betrifft: AW: Outlook-Maileintrag auslesen
von: Domke, Frank
Geschrieben am: 14.03.2005 11:49:48
Hallo Peter,
willst Du innerhalb von Outlook nach Excel kopieren oder innerhalb von Excel aus Outlook kopieren?
Gruß
Frank.
Bild

Betrifft: AW: Outlook-Maileintrag auslesen
von: Peter Egloff
Geschrieben am: 14.03.2005 13:55:57
Hallo Frank
Noch etwas, eine Delux-Ausführung wäre folgende: alle Mails kommen vom gleichen Absender (Provider der Anmeldeformulares). Wenn ich mit einer Schlaufe alle Mails suchen könnte, die von diesem Absender sind, das Mail auslesen, und die Absenderadresse durch die effektive Mail-Adresse ersetzen, welche im Mail mitgeliefert wird. -
Dies hätte den Vorteil, dass keine Anmeldung "untergeht" und ich könnte nach der Importierung der Adresse ins Excelsheet, gleich mit Mail-Antworten mit dem Interessent in Verbindung treten. Mit dem folgenden Mail, das ich in diesem Forum gefunden habe, kann man alle Mails ins excel exportieren
Doch ist es für mich etwas komplex um diese Anpassung zu machen - viellecht schaffst du es - vielen Dank aus der Schweiz! Peter

Sub GrapIext()
Dim objOutlook As Object
Dim objnSpace As Object
Dim objFolder As Object
Dim objMsg As Object
Dim intCounter As Integer, intCount As Integer, iRow As Integer
Dim sText As String
Application.ScreenUpdating = False
'Set objOutlook = CreateObject("Outlook.Application")
Set objOutlook = CreateObject("Lotus-Notes.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")
Set objFolder = objnSpace.folders("Persönliche Ordner").folders("Posteingang")
intCount = objFolder.Items.Count
If intCount > 0 Then
    For intCounter = 1 To intCount
        Set objMsg = objFolder.Items(intCounter)
        MsgBox intCounter & " von " & intCount
        Worksheets.Add after:=Worksheets(Worksheets.Count)
        objMsg.SaveAs ThisWorkbook.Path & "\temp.txt", olTXT
        Close
        iRow = 0
        Open ThisWorkbook.Path & "\temp.txt" For Input As #1
        Do Until EOF(1)
            iRow = iRow + 1
            Line Input #1, sTxt
            Cells(iRow, 1).Value = "'" & sTxt
        Loop
        Close
     Next intCounter
     Kill ThisWorkbook.Path & "\'temp.txt"
End If
Set objnSpace = Nothing
Set objFolder = Nothing
Set objMsg = Nothing
Set objOutlook = Nothing
End Sub


Bild

Betrifft: AW: Outlook-Maileintrag auslesen
von: Domke, Frank
Geschrieben am: 14.03.2005 15:26:16
Na dass ist doch mal ein Steilpass! Hier die Lösung aus Berlin:
' Verweis auf "Microsoft Outlook 10.0 Object Libary" setzen (ggf. an Deine Version anpassen!)

Sub GrapIext()
    ' An den Absender/Provider Anpassen!!!
    'Const strAbsenderName As String = "vorname.nachname@xyz.de"
    ' Ende "An den Absender Anpassen!!!"
    Dim objOutlook As Outlook.Application
    Dim objnSpace As Outlook.NameSpace
    Dim objFolder As Outlook.MAPIFolder
    Dim objMsg As Object
    Dim objItem As Outlook.MailItem
    Dim intCounter As Integer, intCount As Integer, iRow As Integer
    Dim ws As Worksheet
    Dim sText As String
    Application.ScreenUpdating = False
    
    Set objOutlook = CreateObject("Outlook.Application")
    Set objnSpace = objOutlook.GetNamespace("MAPI")
    Set objFolder = objnSpace.GetDefaultFolder(olFolderInbox)
    intCount = objFolder.Items.Count
    If intCount > 0 Then
        Set ws = ActiveSheet
        iRow = 1
        For intCounter = 106 To intCount
            Set objMsg = objFolder.Items(intCounter)
            If objMsg.Class = olMail Then
                Set objItem = objMsg
                If UCase(objItem.SenderName) = UCase(strAbsenderName) Then
                    iRow = iRow + 1
                    ws.Cells(iRow, 1).Value = objItem.Body
                End If
            End If
        Next intCounter
        Set ws = Nothing
    End If
    Set objnSpace = Nothing
    Set objFolder = Nothing
    Set objMsg = Nothing
    Set objItem = Nothing
    Set objOutlook = Nothing
End Sub

Viel Erfolg
Frank.
Bild

Betrifft: AW: Outlook-Maileintrag auslesen
von: Peter Egloff
Geschrieben am: 15.03.2005 08:29:40
Hallo lieber "Berliner"
Vielen Dank für den Lösungsvorschlag, werde ihn morgen versuchen umzusetzen - gibt es bei Euch "Berliner" zum kaufen (Gebäck, im Oel gebacken mit Konfitüre in der Mitte - schmatz, schmatz)
en liebe Gruss us de Schwyz
Peter
Bild

Betrifft: AW: Outlook-Maileintrag auslesen
von: Domke, Frank
Geschrieben am: 15.03.2005 09:29:55
Hallo Schweitzer,
die Berliner gibt es bei uns auch, nur heißen diese in Berlin "Pfannkuchen", frage mich nicht warum.
Viele Grüße in die Schweiz
Frank.
Bild

Betrifft: AW: Outlook-Maileintrag auslesen
von: Peter Egloff
Geschrieben am: 15.03.2005 19:56:03
Hallo Frank
Ich bin nochmal hier - Leider weiss ich nicht was ich wo einstellen muss mit der folgenden Anweisung.
' Verweis auf "Microsoft Outlook 10.0 Object Libary" setzen (ggf. an Deine Version anpassen!)
Beim starten des Makro kommt die Fehlermeldung "Fehler beim Kompilieren" Benutzerdefinierter Typ nicht definiert
und hält bei der Anweisung:
Dim objOutlook As Outlook.Application
Was mir auch nicht viel sagt.
Ich hoffe, dir nun nicht zuviel Unannehmlichkeiten zu bereiten
msg
Peter Egloff
Bild

Betrifft: AW: Outlook-Maileintrag auslesen
von: Peter Egloff
Geschrieben am: 16.03.2005 11:53:43
Hallo Frank
Leider weiss ich nicht, wo ich diesen Verweis setzen muss^.
' Verweis auf "Microsoft Outlook 10.0 Object Libary" setzen (ggf. an Deine Version
anpassen!)
Es erscheint der Fehler: Fehler beim Kompilieren, Benutzerdefinierter Typ nicht definiert
Was ist denn der Unterschied, zu meiner Vorlage, es sind hier ganz andere Begriffe, und trotzdem scheinen beide Programme das gleiche zu machen. Meine alte Vorlage hat so weit funktioniert, nur konnte ich nicht nach Absender filtern, und die Daten immer ins gleiche File einlesen
Kann die Variable objItem.SenderName auch neu gesetzt werden objItem.SenderName=neue@emailadresse.ch
Hoffentlich erwarte ich nicht zuviel von Dir, glaube aber bald am Ziel zu sein
mfg
Peter Egloff
Bild

Betrifft: AW: Outlook-Maileintrag auslesen
von: Peter Egloff
Geschrieben am: 14.03.2005 13:31:41
Hallo Frank
Danke, dass du dich meinem Problem annimmst.
Ich möchte den Inhalt eines offenen Mail in einen Zellinhalt einer Tabelle zBsp. ab "B5" einfügen. Es handelt sich Adressen wie B5-"Name: Egloff", B6-"Vorname: Peter", etc. danach entferne ich "Name" etc. damit ich nur noch die reinen Daten habe (funktioniert bereits) - nur für das einlesen des Mail, brauche ich noch hilfe, damit ich nicht mit Kopie und Past arbeiten muss.
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Outlook-Maileintrag auslesen"