Scraping outlook emails (2 questions)

  • Thread starter Thread starter ker_01
  • Start date Start date
Status
Not open for further replies.
K

ker_01

Full code appended below.

My goal is that this code (when triggered) will allow the user to select a

destination folder and enter a filename, and select a source outlook folder.

The code should then scrape each email in that folder to get the sent

date/time, the subject line, and the sender, and dump that info into a flat

file (which will be used in Excel).

(1) Apparently outlook doesn't have an application.filedialogue (code errors

out in the function on this line). What is the best way to allow a user to

select a destination folder for a generated file? Alternatively, is there a

way to determine the path to the desktop and always save to the desktop,

given that each user's path to the desktop will be unique?

(2) I'll need my code to work in both Outlook 2003 and 2007. I don't have

direct access to a 2007 box, but would welcome feedback if you see anything

in this code that is likely to fail in 2007

Thank you!

Keith

Sub ParseAlertEmails() '(strSource As String, strLabel As String)

Set myOlApp = CreateObject("Outlook.Application")

Set olns = myOlApp.GetNamespace("MAPI")

Set myinbox = olns.PickFolder

Set myItems = myinbox.Items

Dim fso, tf

Set fso = CreateObject("Scripting.FileSystemObject")

UseFolder = GetFolder

UseDateApp = Format(Now(), "YYMMDDHHmmss")

UseFN = InputBox("Please enter the name of the destination file", "Save As")

Set tf = fso.CreateTextFile(UseFN & " " & UseDateApp, True)

StartCount = 0

strEmailContents = ""

For Each outlookmessage In myinbox.Items

If IgnoreEmail = False Then

strEmailContents = outlookmessage.ReceivedTime

strEmailContents = strEmailContents & ";" & outlookmessage.sender

strEmailContents = strEmailContents & ";" & outlookmessage.Subject

tf.Write strEmailContents & vbCrLf

End If

strEmailContents = ""

StartCount = StartCount + 1

Next

tf.Close

Set fso = Nothing

Set myOlApp = Nothing

Set olns = Nothing

Set myinbox = Nothing

Set myItems = Nothing

End Sub

Private Function GetFolder(Optional strPath As String) As String

Dim fldr As FileDialog

Dim sItem As String

Set fldr = Application.FileDialog(msoFileDialogFolderPicker) 'this is where

it errors

With fldr

> Title = "Select a Folder in which to save the output file"

> AllowMultiSelect = False

> InitialFileName = strPath

If .Show <> -1 Then GoTo NextCode

sItem = .SelectedItems(1)

End With

NextCode:

GetFolder = sItem

Set fldr = Nothing

End Function
 
Question 1 solved- Found a way to do it here

(http://www.vbforums.com/archive/index.php/t-400121.html) for the benefit of

future searchers.

I'll try to get access to a 2007 machine to test the new code, and I'll

create a new thread if I run into issues.

Thank you,

Keith

"ker_01" wrote:



> Full code appended below.

> My goal is that this code (when triggered) will allow the user to select a
> destination folder and enter a filename, and select a source outlook folder.

> The code should then scrape each email in that folder to get the sent
> date/time, the subject line, and the sender, and dump that info into a flat
> file (which will be used in Excel).

> (1) Apparently outlook doesn't have an application.filedialogue (code errors
> out in the function on this line). What is the best way to allow a user to
> select a destination folder for a generated file? Alternatively, is there a
> way to determine the path to the desktop and always save to the desktop,
> given that each user's path to the desktop will be unique?

> (2) I'll need my code to work in both Outlook 2003 and 2007. I don't have
> direct access to a 2007 box, but would welcome feedback if you see anything
> in this code that is likely to fail in 2007

> Thank you!
> Keith

> Sub ParseAlertEmails() '(strSource As String, strLabel As String)
> Set myOlApp = CreateObject("Outlook.Application")
> Set olns = myOlApp.GetNamespace("MAPI")
> Set myinbox = olns.PickFolder
> Set myItems = myinbox.Items
> Dim fso, tf
> Set fso = CreateObject("Scripting.FileSystemObject")
> UseFolder = GetFolder
> UseDateApp = Format(Now(), "YYMMDDHHmmss")
> UseFN = InputBox("Please enter the name of the destination file", "Save As")
> Set tf = fso.CreateTextFile(UseFN & " " & UseDateApp, True)

> StartCount = 0
> strEmailContents = ""
> For Each outlookmessage In myinbox.Items

> If IgnoreEmail = False Then
> strEmailContents = outlookmessage.ReceivedTime
> strEmailContents = strEmailContents & ";" & outlookmessage.sender
> strEmailContents = strEmailContents & ";" & outlookmessage.Subject

> tf.Write strEmailContents & vbCrLf
> End If

> strEmailContents = ""
> StartCount = StartCount + 1
> Next

> tf.Close
> Set fso = Nothing

> Set myOlApp = Nothing
> Set olns = Nothing
> Set myinbox = Nothing
> Set myItems = Nothing

> End Sub

> Private Function GetFolder(Optional strPath As String) As String
> Dim fldr As FileDialog
> Dim sItem As String
> Set fldr = Application.FileDialog(msoFileDialogFolderPicker) 'this is where
> it errors
> With fldr
> .Title = "Select a Folder in which to save the output file"
> .AllowMultiSelect = False
> .InitialFileName = strPath
> If .Show <> -1 Then GoTo NextCode
> sItem = .SelectedItems(1)
> End With
> NextCode:
> GetFolder = sItem
> Set fldr = Nothing
> End Function
>
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
K Scraping a specific line # from an email text Outlook VBA and Custom Forms 2
L new outlook contacts searching Using Outlook 2
R Outlook 2010 Outlook 2010 migration question Using Outlook 2
W New Outlook PEOPLE blank Using Outlook 7
C New Outlook issues with Gmail, particularly labels/folders Using Outlook 4
E What is the next workaround for macro in New Outlook 1.2025.1111.100 Outlook VBA and Custom Forms 3
E Need to digitally sign macro but VBA\Outlook crash Outlook VBA and Custom Forms 4
P Outlook 2003 no longer opens "without" Folder List Showing in Navigation Pane Using Outlook 2
Hornblower409 Outlook 2010 - Never ending update Using Outlook 0
V Outlook created new profile? Using Outlook 1
J Outlook inbox question Using Outlook 4
T How to Add AT&T Contacts to Outlook 365 Using Outlook 7
F Outlook 2021 outlook on iPhone Using Outlook 1
F Outlook 2021 Outlook on iPhone asks for password Using Outlook 0
P ics calendar entries suddenly open up new Outlook Using Outlook 3
P Outlook "forgets" password until system rebooted Using Outlook 2
N Why does Outlook keeping adding to the email address I have in my notes portion of a contact? Using Outlook 2
M Anyone integrated AI website builders with Outlook for automated client communications? Using Outlook 1
V Gmail in Outlook Using Outlook 2
T Where has the Copilot icon gone in my Outlook desktop client? Using Outlook 6
P New way by Microsoft to get people to use the new Outlook Using Outlook 4
C How to keep emails in account in Outlook after closing the IMAP account Using Outlook 1
cymumtaz IMAP calendars in New Outlook Using Outlook 5
T Constantly Have To Log In To Outlook On The Web Using Outlook.com accounts in Outlook 2
T Cannot Find Outlook Noted On Android Using Outlook 4
O Outlook 2024 not showing that messages are replied to or forwarded Using Outlook 3
C Outlook 365 send/receive takes FOREVER - as in 40 minutes Using Outlook 7
I Outlook 2024 LTSC syncing with iCloud calendar - can only make appt. in iCloud Using Outlook 2
Kika Melo Outlook ribbon customisations do not 'stick' Using Outlook 12
J IMAP Folders Confusion in Windows Classic Outlook Using Outlook 1
A Missing Sent Emails in New Outlook Using Outlook 18
S Missing categories in Outlook calendar Using Outlook 10
P Windows 11 tries to open New Outlook when the user clicks on the mail icon on a news article Using Outlook 2
C I don't understand Outlook or Microsoft, anymore Using Outlook 12
P My Feedback to Microsoft and their response; also New Outlook roadmap Using Outlook 0
A New Outlook - Cannot drag IMAP emails to Task List in MyDay Using Outlook 1
L Android Outlook Doesn't Update PC Notification Changes Using Outlook 0
A How to open Excel file saved in Outlook folder? Outlook VBA and Custom Forms 4
D.Moore Outlook desktop client suggested searches question Using Outlook 22
Y Outlook 2016 (64-bit) Copy Local Cal. Events to Another Cal. with Modified Reminder time Using Outlook 2
T Outlook 2019 While connecting an IMAP account in "classic" Outlook 2024 I caused a massive duplication of emails on the server (death loop) Using Outlook 5
D Cannot logon to Outlook.com, or outlook on Mac, outlook not updating on ipad, iphone Using Outlook 1
J unable to get my new install of Outlook to display mailboxes in the single-line format. Using Outlook 1
D Legacy Microsoft Outlook for Mac Support will end in Oct 2025 Using Outlook 8
C Nasty Bug Lurking In Outlook For Years. The Trigger. Any Fix Or Workaround? Using Outlook 12
R Auto clicking Hyperlink in outlook Outlook VBA and Custom Forms 7
ughlook Open multiple contacts in NEW Outlook? Using Outlook 3
G Outlook translation feature is off Using Outlook 2
J Outlook 2010 does not let me put any account Using Outlook.com accounts in Outlook 3
P 3 of 5 PST files don't install from d:\outlook but only from D:\ Using Outlook 7

Similar threads

Back
Top