Note: The other languages of the website are Google-translated. Back to English

Wie exportiere ich E-Mails aus mehreren Ordnern / Unterordnern, um sie in Outlook zu übertreffen?

Beim Exportieren eines Ordners mit dem Import- und Exportassistenten in Outlook wird das nicht unterstützt Inklusive Unterordner Option, wenn Sie den Ordner in eine CSV-Datei exportieren. Es ist jedoch ziemlich zeitaufwändig und mühsam, jeden Ordner in eine CSV-Datei zu exportieren und ihn dann manuell in eine Excel-Arbeitsmappe zu konvertieren. In diesem Artikel wird ein VBA vorgestellt, mit dem mehrere Ordner und Unterordner schnell und einfach in Excel-Arbeitsmappen exportiert werden können.

Exportieren Sie mit VBA mehrere E-Mails aus mehreren Ordnern / Unterordnern nach Excel

Registerkarte "Office" - Aktivieren Sie das Bearbeiten und Durchsuchen von Registerkarten in Office und vereinfachen Sie die Arbeit erheblich ...
Kutools für Outlook - Bringt 100 leistungsstarke erweiterte Funktionen in Microsoft Outlook
  • Auto CC / BCC nach Regeln beim Versenden von E-Mails; Automatische Weiterleitung Mehrere E-Mails nach Regeln; Automatische Antwort ohne Exchange Server und mehr automatische Funktionen ...
  • BCC-Warnung - Nachricht anzeigen, wenn Sie versuchen, alle zu beantworten, wenn Ihre E-Mail-Adresse in der BCC-Liste enthalten ist; Bei fehlenden Anhängen erinnernund weitere Erinnerungsfunktionen ...
  • Antwort (Alle) mit allen Anhängen im Mail-Gespräch; Antworten Sie auf viele E-Mails gleichzeitig. Begrüßung automatisch hinzufügen bei der Antwort; Automatisches Hinzufügen von Datum und Uhrzeit zum Betreff ...
  • Anbaugeräte: Automatisch trennen, Alle komprimieren, Alle umbenennen, Alle automatisch speichern ... Kurzbericht, Ausgewählte Mails zählen, Doppelte Mails und Kontakte entfernen ...
  • Mehr als 100 erweiterte Funktionen werden Löse die meisten deiner Probleme in Outlook 2021 - 2010 oder Office 365. 60-tägige kostenlose Testversion mit vollem Funktionsumfang.

Pfeil blau rechte Blase Exportieren Sie mit VBA mehrere E-Mails aus mehreren Ordnern / Unterordnern nach Excel

Führen Sie die folgenden Schritte aus, um E-Mails aus mehreren Ordnern oder Unterordnern in Excel-Arbeitsmappen mit VBA in Outlook zu exportieren.

1. Drücken Sie Andere + F11 Tasten zum Öffnen des Fensters Microsoft Visual Basic für Applikationen.

2 Klicken Insert > Modulund fügen Sie dann den folgenden VBA-Code in das neue Modulfenster ein.

VBA: Exportieren Sie E-Mails aus mehreren Ordnern und Unterordnern nach Excel

Const MACRO_NAME = "Export Outlook Folders to Excel"

Sub ExportMain()
ExportToExcel "destination_folder_path\A.xlsx", "your_email_accouny\folder\subfolder_1"
ExportToExcel "destination_folder_path\B.xlsx", "your_email_accouny\folder\subfolder_2"
MsgBox "Process complete.", vbInformation + vbOKOnly, MACRO_NAME
End Sub
Sub ExportToExcel(strFilename As String, strFolderPath As String)
Dim      olkMsg As Object
Dim olkFld As Object
Dim excApp As Object
Dim excWkb As Object
Dim excWks As Object
Dim intRow As Integer
Dim intVersion As Integer

If strFilename <> "" Then
If strFolderPath <> "" Then
Set olkFld = OpenOutlookFolder(strFolderPath)
If TypeName(olkFld) <> "Nothing" Then
intVersion = GetOutlookVersion()
Set excApp = CreateObject("Excel.Application")
Set excWkb = excApp.Workbooks.Add()
Set excWks = excWkb.ActiveSheet
'Write Excel Column Headers
With excWks
.Cells(1, 1) = "Subject"
.Cells(1, 2) = "Received"
.Cells(1, 3) = "Sender"
End With
intRow = 2
For Each olkMsg In olkFld.Items
'Only export messages, not receipts or appointment requests, etc.
If olkMsg.Class = olMail Then
'Add a row for each field in the message you want to export
excWks.Cells(intRow, 1) = olkMsg.Subject
excWks.Cells(intRow, 2) = olkMsg.ReceivedTime
excWks.Cells(intRow, 3) = GetSMTPAddress(olkMsg, intVersion)
intRow = intRow + 1
End If
Next
Set olkMsg = Nothing
excWkb.SaveAs strFilename
excWkb.Close
Else
MsgBox "The folder '" & strFolderPath & "' does not exist in Outlook.", vbCritical + vbOKOnly, MACRO_NAME
End If
Else
MsgBox "The folder path was empty.", vbCritical + vbOKOnly, MACRO_NAME
End If
Else
MsgBox "The filename was empty.", vbCritical + vbOKOnly, MACRO_NAME
End If

Set olkMsg = Nothing
Set olkFld = Nothing
Set excWks = Nothing
Set excWkb = Nothing
Set excApp = Nothing
End Sub

Public Function OpenOutlookFolder(strFolderPath As String) As Outlook.MAPIFolder
Dim arrFolders As Variant
Dim varFolder As Variant
Dim bolBeyondRoot As Boolean

On Error Resume Next
If strFolderPath = "" Then
Set OpenOutlookFolder = Nothing
Else
Do While Left(strFolderPath, 1) = "\"
strFolderPath = Right(strFolderPath, Len(strFolderPath) - 1)
Loop
arrFolders = Split(strFolderPath, "\")
For Each varFolder In arrFolders
Select Case bolBeyondRoot
Case False
Set OpenOutlookFolder = Outlook.Session.Folders(varFolder)
bolBeyondRoot = True
Case True
Set OpenOutlookFolder = OpenOutlookFolder.Folders(varFolder)
End Select
If Err.Number <> 0 Then
Set OpenOutlookFolder = Nothing
Exit For
End If
Next
End If
On Error GoTo 0
End Function

Function GetSMTPAddress(Item As Outlook.MailItem, intOutlookVersion As Integer) As String
Dim olkSnd As Outlook.AddressEntry
Dim olkEnt As Object

On Error Resume Next
Select Case intOutlookVersion
Case Is < 14
If Item.SenderEmailType = "EX" Then
GetSMTPAddress = SMTPEX(Item)
Else
GetSMTPAddress = Item.SenderEmailAddress
End If
Case Else
Set olkSnd = Item.Sender
If olkSnd.AddressEntryUserType = olExchangeUserAddressEntry Then
Set olkEnt = olkSnd.GetExchangeUser
GetSMTPAddress = olkEnt.PrimarySmtpAddress
Else
GetSMTPAddress = Item.SenderEmailAddress
End If
End Select
On Error GoTo 0
Set olkPrp = Nothing
Set olkSnd = Nothing
Set olkEnt = Nothing
End Function

Function GetOutlookVersion() As Integer
Dim arrVer As Variant
arrVer = Split(Outlook.Version, ".")
GetOutlookVersion = arrVer(0)
End Function

Function SMTPEX(olkMsg As Outlook.MailItem) As String
Dim olkPA As Outlook.propertyAccessor
On Error Resume Next
Set olkPA = olkMsg.propertyAccessor
SMTPEX = olkPA.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x5D01001E")
On Error GoTo 0
Set olkPA = Nothing
End Function

3. Bitte passen Sie den obigen VBA-Code nach Bedarf an.

(1) Ersetzen Zielordnerpfad Im obigen Code mit dem Ordnerpfad des Zielordners speichern Sie die exportierten Arbeitsmappen, z C: \ Benutzer \ DT168 \ Dokumente \ TEST.
(2) Ersetzen Sie Ihre_email_accouny \ folder \ subfolder_1 und Ihre_email_accouny \ folder \ subfolder_2 im obigen Code durch die Ordnerpfade von Unterordnern in Outlook, z Kelly @extendoffice.com \ Posteingang \ A. und Kelly @extendoffice.com \ Posteingang \ B.

4. Drücken Sie die Taste F5 Taste oder klicken Sie auf Run Schaltfläche, um diese VBA auszuführen. Und dann klicken Sie auf OK Klicken Sie im Dialogfeld "Outlook-Ordner nach Excel exportieren" auf die Schaltfläche. Siehe Screenshot:

Und jetzt werden E-Mails aus allen angegebenen Unterordnern oder Ordnern im obigen VBA-Code exportiert und in Excel-Arbeitsmappen gespeichert.


Pfeil blau rechte BlaseVerwandte Artikel


Kutools für Outlook - Bringt 100 erweiterte Funktionen in Outlook und erleichtert die Arbeit erheblich!

  • Auto CC / BCC nach Regeln beim Versenden von E-Mails; Automatische Weiterleitung Mehrere E-Mails nach Kundenwunsch; Automatische Antwort ohne Exchange Server und mehr automatische Funktionen ...
  • BCC-Warnung - Nachricht anzeigen, wenn Sie versuchen, alle zu beantworten wenn Ihre E-Mail-Adresse in der BCC-Liste enthalten ist; Bei fehlenden Anhängen erinnernund weitere Erinnerungsfunktionen ...
  • Antwort (Alle) mit allen Anhängen in der E-Mail-Konversation; Viele E-Mails beantworten in Sekunden; Begrüßung automatisch hinzufügen bei der Antwort; Datum zum Betreff hinzufügen ...
  • Anhang Tools: Alle Anhänge in allen Mails verwalten, Automatische Trennung, Alle komprimieren, Alle umbenennen, Alle speichern ... Schnellbericht, Ausgewählte Mails zählen...
  • Leistungsstarke Junk-E-Mails nach Brauch; Entfernen Sie doppelte E-Mails und Kontakte... Ermöglichen Sie es Ihnen, in Outlook intelligenter, schneller und besser zu arbeiten.
Schuss Kutools Outlook Kutools Tab 1180x121
Schuss Kutools Outlook Kutools plus Tab 1180x121
 
Kommentare (10)
Noch keine Bewertungen. Bewerten Sie als Erster!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wie bekomme ich dies automatisch in Unterordner rekursiv?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Schatz, alles funktioniert gut, vielen Dank, aber der Text wird nicht exportiert, wie kann ich auch den E-Mail-Text exportieren, die Excel-Datei hat nur (Betreff, Empfangen und Absender), wenn Sie mich damit aktualisieren können, wird eine große Angelegenheit gelöst in meinem Geschäft nochmals vielen Dank
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Montaser,
Das VBA-Skript wird basierend auf der Exportfunktion von Outlook ausgeführt, die das Exportieren von Nachrichteninhalten beim Massenexport von E-Mails aus einem E-Mail-Ordner nicht unterstützt. Daher kann dieses VBA-Skript auch keine Nachrichteninhalte exportieren.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Das funktioniert großartig, aber gibt es eine Möglichkeit, die Informationen nicht nur für die 4 oben genannten Felder, sondern auch für den gesamten Outlook-Export in PST hinzuzufügen? Betreff Text Von: (Name) Von: (Adresse) Von: (Typ) An: (Name) An: (Adresse) An: (Typ) CC: (Name) CC: (Adresse) CC: (Typ) BCC: ( Name) BCC: (Adresse) BCC: (Typ) Abrechnungsinformationen Kategorien Wichtigkeit Kilometerstand Empfindlichkeit

Ich habe versucht, "Wichtigkeit" hinzuzufügen, und es funktioniert, aber ich würde es begrüßen, wenn jemand den Code für die anderen Felder bereitstellen könnte. Danke!!
Mit excWks
.Cells(1, 1) = "Betreff"
.Cells(1, 2) = "Empfangen"
.Cells(1, 3) = "Absender"
.Cells(1, 4) = "Körper"
.Cells(1, 5) = "Wichtigkeit"
Ende mit
intRow = 2
Für jede olkMsg in olkFld.Items
'Nur Nachrichten exportieren, keine Quittungen oder Terminanfragen etc.
Wenn olkMsg.Class = olMail Dann
'Fügen Sie für jedes Feld in der Nachricht, die Sie exportieren möchten, eine Zeile hinzu
excWks.Cells(intRow, 1) = olkMsg.Subject
excWks.Cells(intRow, 2) = olkMsg.ReceivedTime
excWks.Cells(intRow, 3) = GetSMTPAddress(olkMsg, intVersion)
excWks.Cells(intRow, 4) = olkMsg.Body
excWks.Cells(intRow, 5) = olkMsg.Importance
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, bitte überprüfen Sie den folgenden Code auf Ihre Bedürfnisse:
Const MACRO_NAME = "Outlook-Ordner nach Excel exportieren"

Sub ExportMain()

ExportToExcel „Pfad_des_Zielordners\A.xlsx“, „Ihr_E-Mail-Konto\Ordner\Unterordner_1“

ExportToExcel „Pfad_des_Zielordners\B.xlsx“, „Ihr_E-Mail-Konto\Ordner\Unterordner_2“

MsgBox "Prozess abgeschlossen.", vbInformation + vbOKOnly, MACRO_NAME

End Sub

Sub ExportToExcel (strFilename als String, strFolderPath als String)

Dim olkMsg als Objekt

Dim olkFld als Objekt

Dim excApp als Objekt

Dim excWkb als Objekt

Dim excWks As Object

Dim intRow As Integer

Dim intVersion als ganze Zahl

Wenn strDateiname <> "" Then

Wenn strFolderPath <> "" Dann

Set olkFld = OpenOutlookFolder(strFolderPath)

Wenn TypeName(olkFld) <> "Nothing" Then

intVersion = GetOutlookVersion()

Set excApp = CreateObject("Excel.Application")

Setze excWkb = excApp.Workbooks.Add()

Setzen Sie excWks = excWkb.ActiveSheet

'Excel-Spaltenüberschriften schreiben

Mit excWks

.Cells(1, 1) = "Betreff"

.Cells(1, 2) = "Körper"

.Cells(1, 3) = "Empfangen"

.Cells(1, 4) = "Von: (Name)"

.Cells(1, 5) = "Von: (Adresse)"

.Cells(1, 6) = "Von: (Typ)"

.Cells(1, 7) = "An: (Name)"

.Cells(1, 8) = "An: (Adresse)"

.Cells(1, 9) = "An: (Typ)"

.Cells(1, 10) = "CC: (Name)"

.Cells(1, 11) = "CC: (Adresse)"

.Cells(1, 12) = "CC: (Typ)"

.Cells(1, 13) = "BCC: (Name)"

.Cells(1, 14) = "BCC: (Adresse)"

.Cells(1, 15) = "BCC: (Typ)"

.Cells(1, 16) = "Rechnungsinformationen"

.Cells(1, 17) = "Kategorien"

.Cells(1, 18) = "Wichtigkeit"

.Cells(1, 19) = "Kilometerstand"

.Cells(1, 20) = "Empfindlichkeit"

Ende mit

intRow = 2

Für jede olkMsg in olkFld.Items

'Nur Nachrichten exportieren, keine Quittungen oder Terminanfragen etc.

Wenn olkMsg.Class = olMail Dann

'Fügen Sie für jedes Feld in der Nachricht, die Sie exportieren möchten, eine Zeile hinzu

excWks.Cells(intRow, 1) = olkMsg.Subject

excWks.Cells(intRow, 2) = olkMsg.Body

excWks.Cells(intRow, 3) = olkMsg.ReceivedTime

excWks.Cells(intRow, 4) = olkMsg.SenderName

excWks.Cells(intRow, 5) = GetAddress(olkMsg.Sender, intVersion)

excWks.Cells(intRow, 6) = olkMsg.Sender.Type

excWks.Cells(intRow, 7) = GetRecipientsName(olkMsg, 1, 1, intVersion)

excWks.Cells(intRow, 8) = GetRecipientsName(olkMsg, 1, 2, intVersion)

excWks.Cells(intRow, 9) = GetRecipientsName(olkMsg, 1, 3, intVersion)

excWks.Cells(intRow, 10) = GetRecipientsName(olkMsg, 2, 1, intVersion)

excWks.Cells(intRow, 11) = GetRecipientsName(olkMsg, 2, 2, intVersion)

excWks.Cells(intRow, 12) = GetRecipientsName(olkMsg, 2, 3, intVersion)

excWks.Cells(intRow, 13) = GetRecipientsName(olkMsg, 3, 1, intVersion)

excWks.Cells(intRow, 14) = GetRecipientsName(olkMsg, 3, 2, intVersion)

excWks.Cells(intRow, 15) = GetRecipientsName(olkMsg, 3, 3, intVersion)

excWks.Cells(intRow, 16) = olkMsg.BillingInformation

excWks.Cells(intRow, 17) = olkMsg.Categories

excWks.Cells(intRow, 18) = olkMsg.Importance

excWks.Cells(intRow, 19) = olkMsg.Mileage

excWks.Cells(intRow, 20) = olkMsg.Sensitivity

intRow = intRow + 1

End If

Weiter

Setze olkMsg = nichts

excWkb.SaveAs strFilename

excWkb.Schließen

sonst

MsgBox "Der Ordner '" & strFolderPath & "' existiert nicht in Outlook.", vbCritical + vbOKOnly, MACRO_NAME

End If

sonst

MsgBox "Der Ordnerpfad war leer.", vbCritical + vbOKOnly, MACRO_NAME

End If

sonst

MsgBox "Der Dateiname war leer.", vbCritical + vbOKOnly, MACRO_NAME

End If



Setze olkMsg = nichts

Setzen Sie olkFld = Nothing

Setzen Sie excWks = nichts

Setzen Sie excWkb = nichts

Setzen Sie excApp = nichts

End Sub



Öffentliche Funktion OpenOutlookFolder(strFolderPath As String) Als Outlook.MAPIFolder

Dim arrFolders As Variant

Dim varFolder As Variant

Dim bolBeyondRoot As Boolean

On Error Resume Next

Wenn strFolderPath = "" Dann

Setzen Sie OpenOutlookFolder = Nothing

sonst

Do While Left(strFolderPath, 1) = "\"

strFolderPath = Rechts(strFolderPath, Len(strFolderPath) - 1)

Loop

arrFolders = Split(strFolderPath, "\")

Für jeden varFolder in arrFolders

Wählen Sie Fall bolBeyondRoot

Fall falsch

Setze OpenOutlookFolder = Outlook.Session.Folders(varFolder)

bolBeyondRoot = Wahr

Fall wahr

Setze OpenOutlookFolder = OpenOutlookFolder.Folders(varFolder)

End Select

Wenn Err.Number <> 0 Then

Setzen Sie OpenOutlookFolder = Nothing

Exit für

End If

Weiter

End If

Bei Fehler GoTo 0

End Function



Funktion GetOutlookVersion() als ganze Zahl

Dim arrVer As Variant

arrVer = Split(Outlook.Version, ".")

GetOutlookVersion = arrVer(0)

End Function



Funktion SMTPEX(Eintrag als Adresseintrag) als String

Dim olkPA als Outlook.PropertyAccessor

On Error Resume Next

Legen Sie olkPA = Entry.PropertyAccessor fest

SMTPEX = olkPA.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x5D01001E")

Bei Fehler GoTo 0

Setzen Sie olkPA = Nichts

End Function



Funktion GetAddress(Entry As AddressEntry, intOutlookVersion As Integer) As String

Dim olkEnt als Objekt

On Error Resume Next

Wählen Sie Fall intOutlookVersion aus

Fall ist < 14

Wenn Entry.Type = "EX" Then

GetAddress = SMTPEX(Eintrag)

sonst

GetAddress = Eintrag.Adresse

End If

Case Else

Wenn Entry.AddressEntryUserType = olExchangeUserAddressEntry Then

Legen Sie olkEnt = Entry.GetExchangeUser fest

GetAddress = olkEnt.PrimarySmtpAddress

sonst

GetAddress = Eintrag.Adresse

End If

End Select

Bei Fehler GoTo 0

Setze olkEnt = nichts

End Function



Funktion GetRecipientsName(Item As MailItem, rcpType As Integer, Ret As Integer, intOutlookVersion As Integer) As String

Dim xRcp als Empfänger

Dim xNames als String

xNames = ""

Für jeden xRcp in Item.Recipients

Wenn xRcp.Type = rcpType Dann

Wenn Ret = 1, dann

Wenn xNames = "" Dann

xNames = xRcp.Name

sonst

xNames = xNames & "; " & xRcp.Name

End If

ElseIf Ret = 2 Then

Wenn xNames = "" Dann

xNames = GetAddress(xRcp.AddressEntry, intOutlookVersion)

sonst

xNames = xNames & "; " & GetAddress(xRcp.AddressEntry, intOutlookVersion)

End If

ElseIf Ret = 3 Then

Wenn xNames = "" Dann

xNames = xRcp.AddressEntry.Type

sonst

xNames = xNames & "; " & xRcp.AddressEntry.Type

End If

End If

ElseIf xRcp.Type = rcpType Then

Wenn Ret = 1, dann

Wenn xNames = "" Dann

xNames = xRcp.Name

sonst

xNames = xNames & "; " & xRcp.Name

End If

ElseIf Ret = 2 Then

Wenn xNames = "" Dann

xNames = GetAddress(xRcp.AddressEntry, intOutlookVersion)

sonst

xNames = xNames & "; " & GetAddress(xRcp.AddressEntry, intOutlookVersion)

End If

ElseIf Ret = 3 Then

Wenn xNames = "" Dann

xNames = xRcp.AddressEntry.Type

sonst

xNames = xNames & "; " & xRcp.AddressEntry.Type

End If

End If

ElseIf xRcp.Type = rcpType Then

Wenn Ret = 1, dann

Wenn xNames = "" Dann

xNames = xRcp.Name

sonst

xNames = xNames & "; " & xRcp.Name

End If

ElseIf Ret = 2 Then

Wenn xNames = "" Dann

xNames = GetAddress(xRcp.AddressEntry, intOutlookVersion)

sonst

xNames = xNames & "; " & GetAddress(xRcp.AddressEntry, intOutlookVersion)

End If

ElseIf Ret = 3 Then

Wenn xNames = "" Dann

xNames = xRcp.AddressEntry.Type

sonst

xNames = xNames & "; " & xRcp.AddressEntry.Type

End If

End If

End If

Weiter

GetRecipientsName = xNames

End Function




Hoffe das funktioniert für dich.
Amandas
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Im ExporttoExcel-Unter können Sie den Körper hinzufügen

'Excel-Spaltenüberschriften schreiben
Mit excWks
.Cells(1, 1) = "Betreff"
.Cells(1, 2) = "Empfangen"
.Cells(1, 3) = "Absender"
.Cells(1, 4) = "Körper"
Ende mit
intRow = 2
Für jede olkMsg in olkFld.Items
'Nur Nachrichten exportieren, keine Quittungen oder Terminanfragen etc.
Wenn olkMsg.Class = olMail Dann
'Fügen Sie für jedes Feld in der Nachricht, die Sie exportieren möchten, eine Zeile hinzu
excWks.Cells(intRow, 1) = olkMsg.Subject
excWks.Cells(intRow, 2) = olkMsg.ReceivedTime
excWks.Cells(intRow, 3) = GetSMTPAddress(olkMsg, intVersion)
excWks.Cells(intRow, 4) = olkMsg.Body
intRow = intRow + 1
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, hoffentlich kann mir hier jemand helfen, ich habe praktisch keine Ahnung von VB, habe es aber bisher geschafft, dieses Skript für mich zum Laufen zu bringen.

Allerdings habe ich insgesamt etwa 1500 Ordner und Unterordner in meinem Posteingang und ich hätte wirklich gerne ein einfaches Skript, um alle E-Mail-Adressen, an die ich gesendet habe, mit der Betreffzeile und dem Datum in separaten Spalten in Excel zu exportieren.

Ich habe tagelang gesucht und viele verschiedene Websites ausprobiert, kann aber keinen anderen Code als diesen zum Laufen bringen.


Ist das, worum ich bitte, überhaupt möglich? Wenn ja, ist jemand da draußen, der so freundlich und klug ist, mir mit dem Skript zu helfen, das ich brauche?
Ich vermute, es hat etwas mit diesem Teil zu tun:


Sub ExportMain()

ExportToExcel „Pfad_des_Zielordners\A.xlsx“, „Ihr_E-Mail-Konto\Ordner\Unterordner_1“

ExportToExcel „Pfad_des_Zielordners\B.xlsx“, „Ihr_E-Mail-Konto\Ordner\Unterordner_2“

MsgBox "Prozess abgeschlossen.", vbInformation + vbOKOnly, MACRO_NAME

End Sub


Vielen Dank im fortgeschrittenen
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo,
Ich habe gerade dieses Makro ausgeführt, das gut funktioniert.
Ich verstehe das in den Ausdrücken
excWks.Cells(intRow, 1) = olkMsg.Subject
excWks.Cells(intRow, 2) = olkMsg.ReceivedTime
excWks.Cells(intRow, 3) = GetSMTPAddress(olkMsg, intVersion)

olkMsg.* und GetSMTPAddress(olkMsg, intVersion) extrahieren Daten aus Outlook.

Welches Argument ist zu verwenden, um die Adresse zu erhalten, an die die E-Mail gesendet wurde?

Wenn Sie den Export-Assistenten von Outlook verwenden, ist es möglich, diese Adresse zu exportieren, daher gehe ich davon aus, dass dies über dieses Makro (mit einigen Änderungen) möglich wäre.
Kann jemand helfen?

Grüße
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich führe dieses Makro aus, bekomme aber immer wieder Kompilierungsfehler:

Benutzerdefinierter Typ nicht definiert

In Zeile 62 „Öffentliche Funktion OpenOutlookFolder(strFolderPath As String) As Outlook.MAPIFolder“

Ich habe den Pfad bereits wie folgt angegeben:

ExportToExcel "C:\Users\kudus\Documents\MailExportTest\f1\A.xlsx", "myname@mydomain.com\Inbox\Black Hat Webcast"
ExportToExcel "C:\Users\\Documekudus\Documents\MailExportTest\f2\B.xlsx", "myname@mydomain.com\Inbox\CPD\Kaplan Training"

Ich verwende Outlook 2016, falls dies erforderlich ist
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich habe es repariert. Gehen Sie im Visual Basic-Fenster zu Tools Reference – und das Feld für „Microsoft Outlook 16.0 Object Library“

Es sind noch keine Kommentare vorhanden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte

Folgen Sie uns

Copyright © 2009 - www.extendoffice.com. | Alle Rechte vorbehalten. Unterstützt von ExtendOffice. | Sitemap
Microsoft und das Office-Logo sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.
Geschützt durch Sectigo SSL