Herbers Excel-Forum - das Archiv

Outlook-Maileintrag auslesen

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
Excel-Beispiele zum Thema "Outlook-Maileintrag auslesen"
Mehrfachauswahl aus ListBox auslesen Dateien aus Listbox auslesen und öffnen
Bereich in RefEdit-Element eingeben und auslesen Auslesen der Arbeitsmappeneigenschaften
UserName aus der Windows-Registry auslesen Eintrag aus der Win.ini auslesen
Einzelnes Zeichen aus einer InputBox-Eingabe auslesen Ausgewählte Arbeitsblätter auslesen
Mehrfachauswahl in ListBox auslesen