Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1404to1408
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Outlook und VBA

Outlook und VBA
01.02.2015 09:44:43
Marcus

Hallo liebe VBA Experten,
besteht die Möglichkeit E Mails per VBA auszulesen ?
Mein Problem ich habe einen Ordner in Outlook angelegt wo sich jetzt
ungefähr, 2500
E Mails befinden ist es möglich per VBA den kompletten Body jeder E Mail auszulesen
und in Excel abzuspeichern ?
Vielen Dank im voraus :)
SOS HLFE !!

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Outlook und VBA
01.02.2015 10:16:50
Mister-B
Hallo,
ich weiß nicht ob das geht aber vor längerer Zeit habe ich ein Makro hier erhalten, dass alle Mails in einem Outlookordner als MSG auf der Festplatte speichert. Es gab dann ein zweites Makro das aus diesen Mails Absender, Betreff usw. ausliest. Vielleicht hilft dir das weiter. Siehe Hier:
https://www.herber.de/forum/archiv/1220to1224/t1222910.htm#1222910
Gruß
Martin

AW: Outlook und VBA
01.02.2015 10:57:59
mumpel
Hallo!
Man muss nicht erst als MSG speichern. Ich würde das von Outlook aus machen, ist einfacher. Wenn ich zuhause bin schaue ich mal nach dem Code für Outlook-VBA.
Gruß, René

Anzeige
AW: Outlook und VBA (hier ein Beispiel)
01.02.2015 12:24:04
firmus
Hallo Marcus,
anbei ein Muster, das auf der Kombination xls2010,outlook2010,exchangeserver funktioniert.
https://www.herber.de/bbs/user/95453.xlsm
1. Das Makro liest die Namen aller offenen PST-files aus, listet als 1. bis n.te Zeile untereinander.
2. Über die Eingabe der Zeilennummer entscheidest Du von welcher PST die Emails auf dem 1. Level
ausgelesen werden sollen. (Unterordner werden (derzeit) nicht ausgelesen.
3. Alle Emails werden mit den wichtigsten Atrributen tabellarisch in eine XLS-Tabelle kopiert.
4. Spalte A ist eine laufende Nr, die auch gleichzeitig der eindeutige ID jeder Email ist.
5. Sollte Attachments in den Emails enthalten sein, werden diese mit eigenem Namen separat
abgespeichert.
6. Die Email-ID wird beim Namen der separat abgespeicherten Attachments als Prefix angefügt. Damit kann jede separat gespeicherte Datei eindeutig dem richtigen Email zugeordnet werden.
VBA-Code Sauberkeit: Sorry - war eine Spielwiese mit try and error, ABER es funktioniert.
Gruß
Firmus
PS: habe leider keine Zeit weiter darauf einzugehen.

Anzeige
AW: Outlook und VBA (hier ein Beispiel)
01.02.2015 19:18:57
Marcus
Hallo @ all
Vielen Dank füe eure Antworten und sorry das ich
jetzt erst antworte muste heute leider arbeiten :)
Ich schaue mir das alles an :)
Bis später

AW: Outlook und VBA
03.02.2015 18:18:11
Marcus
Hallo zusammen,
das funtzt nicht martin;(
@mumpel kannst du vllt. nochmal schauen
BG Marcus

AW: Outlook und VBA
03.02.2015 20:08:28
mumpel
Bedenke dass Du bei langen Emails nicht alles in den Zellen lesen kannst. Die Spaltenbreite ist auf 255 und die Zeilenhöhe auf 409 begrenzt. Code gehört in Outlook, nicht in Excel. Noch den/die Namen der/des Ordner(s) bei "olFolders" und Pfad/Dateiname der Exceldatei anpassen.
Option Explicit

Public Sub ExcelTest()
Dim objXLApp          As Excel.Application
Dim objXLWB           As Excel.Workbook
Dim lngLastRow        As Long
Dim olApp             As Outlook.Application
Dim olName            As Outlook.Namespace
Dim olFolder          As Outlook.MAPIFolder
Dim olItems           As Outlook.MailItem

Set olApp = Application
Set olName = olApp.GetNamespace("MAPI")
Set olFolder = olName.Session.Folders("RMH Software").Folders("Posteingang")

Set objXLApp = New Excel.Application

On Error Resume Next

With objXLApp
    .Visible = True
      Set objXLWB = .Workbooks.Open(Environ("USERPROFILE") & "\Desktop\Test2.xlsb")
          lngLastRow = .Workbooks("Test2.xlsb").Sheets("Tabelle1").Range("A" _
                                                       & Rows.Count).End(xlUp).Row + 1
          For Each olItems In olFolder.Items
             .ActiveWorkbook.Sheets("Tabelle1").Range("A" _
                                    & lngLastRow).Value = olItems.SenderEmailAddress
             .ActiveWorkbook.Sheets("Tabelle1").Range("B" _
                                    & lngLastRow).Value = olItems.Body
             lngLastRow = lngLastRow + 1
          Next olItems
'         .ActiveWorkbook.Save 
'         .ActiveWorkbook.Close 
'         .Quit 
End With


End Sub

VBA/HTML - CodeConverter für Office-Foren, AddIn für Office 2002-2013 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:mumpel

Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0


Anzeige
Nachtrag
03.02.2015 20:10:56
mumpel
Hinweis:
Bei 2500 Mails wirst Du mit Sicherheit Probleme bekommen. Du solltest überlegen ob Du die Mails nicht besser als MSG auf Festplatte speicherst und Dir den Inhalt der Mails bei Bedarf im Windows-Explorer anzeigen lässt.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige