Macro to extract sender name & subject line of incoming emails to single txt file

Status
Not open for further replies.

Chris0815

New Member
Outlook version
Outlook 2013 64 bit
Email Account
Exchange Server 2013
Hello,

I'm using Outlook 2013 and trying to create a macro which extracts (only) the sender name and subject line of new incoming emails to/on top of one/single .txt file. If a new incoming email arrives the sender and subject line are added on top of the same/existing .txt file, stored on my PC. Outlook will be running in the background. I'm struggling to get newly arriving emails selected for execution of the macro.

I have tried/combined some of the many samples on this homepage but still struggle to get a macro that extracts the sender and subject of the latest incoming emails on top of one/single .txt file. Below some parts of code which I would like to work with.

////////

sName = "MailExtract" strFile = "c:\path\" & sName & ".txt" .Write "Sender: " & objItem.Sender & vbCrLf .Write "Subject: " & objItem.Subject & vbCrLf & vbCrLf

////////

Any advice will be highly appreciated. As alternative to macro I was looking into executing a script (via rule) but it seems to be more difficult to extract/copy/paste sender/subject lines from incoming emails.


I am aware there might be issues e.g. when receiving 2 or more emails within short period of time. However, this is not a major concern and i would be happy if sender name/subject of at least 1 newly arriving email could be extracted to txt file.

My final goal: I have a VB program/.exe serial port communication tool created which does every 1 or 2 minutes load 1 line for sender and 2nd line for the subject to individual text boxes. From there it is send via serial to a connected bluetooth receiver/port which is connected to a LED Matrix display which will show latest/newest sender/subject line mentioned on top of the .txt file.

Thanks in advance for any advice.

Kind Regards,

Chris
 
A rule should work once you get the macro working - switching it to a macro that runs from a rule is fairly easy.

>> sName = "MailExtract" strFile = "c:\path\" & sName & ".txt
If the file name is always the same, you don't need to us a variable - just use the name.
strFile = "c:\path\mailextract.txt"

This works here -

Code:
Sub SaveMessageLog()
  
   Dim InBoxFolder As Outlook.folder
   Dim InBoxItems As Outlook.Items
   Dim Item As MailItem
  
   Dim objFS As New Scripting.FileSystemObject, objFile As Scripting.TextStream
   Dim strFile As String

' Use the default folder
Set InBoxFolder = Session.GetDefaultFolder(olFolderInbox)

' Use the selected folder
'Set InBoxFolder = Application.ActiveExplorer.CurrentFolder

' ===============
  strFile = "D:\diane\Documents\Inbox.txt"
  
Set objFile = objFS.OpenTextFile(strFile, ForAppending, True)

' ==================
   ' Get all of the items in the folder
  Set InBoxItems = InBoxFolder.Items
  For Each Item In InBoxItems
      
With objFile
 .Write "Sender: " & Item.Sender & vbCrLf
 .Write "Subject: " & Item.Subject & vbCrLf
 .Write vbCrLf & vbCrLf
End With
 
  Next
  objFile.Close
  
  Set objFS = Nothing
  Set objFile = Nothing
 
   Set Item = Nothing
   Set InBoxItems = Nothing
   Set InBoxFolder = Nothing
  
End Sub


This should work as a rule - I don't think I missed anything, but I didn't test it yet (need to enabled run a script on this new computer first)
Run-a-Script Rules Missing in Outlook


Code:
Sub SaveMessageLogRule(Item As MailItem)
  
   Dim objFS As New Scripting.FileSystemObject, objFile As Scripting.TextStream
   Dim strFile As String

' ===============
  strFile = "D:\diane\Documents\Inbox2.txt"
  
Set objFile = objFS.OpenTextFile(strFile, ForAppending, True)

' ==================
With objFile
 .Write "Sender: " & Item.Sender & vbCrLf
 .Write "Subject: " & Item.Subject & vbCrLf
 .Write vbCrLf & vbCrLf
End With
 
  Next
  objFile.Close
  
  Set objFS = Nothing
  Set objFile = Nothing
 
   Set Item = Nothing
End Sub
 
Many thanks and I got the script working (just had to remove "Next"). I really appreciate your fast and uncomplicated help on an issue I spent days with....
 
oops. Sorry I missed that line when I was cleaning it up.
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
S Macro to extract and modify links from emails Outlook VBA and Custom Forms 3
S Macro to extract email addresses of recipients in current drafted email and put into clipboard Outlook VBA and Custom Forms 2
J Outlook 2013 Extract Flag Completed dates to Excel Macro Outlook VBA and Custom Forms 16
X Run macro automatically when a mail appears in the sent folder Using Outlook 1
mrrobski68 Issue with Find messages in a conversation macro Outlook VBA and Custom Forms 1
G Creating Macro to scrape emails from calendar invite body Outlook VBA and Custom Forms 6
M Use Macro to change account settings Outlook VBA and Custom Forms 0
J Macro to Reply to Emails w/ Template Outlook VBA and Custom Forms 3
C Outlook - Macro to block senders domain - Macro Fix Outlook VBA and Custom Forms 2
Witzker Outlook 2019 Macro to seach in all contact Folders for marked Email Adress Outlook VBA and Custom Forms 1
S macro error 4605 Outlook VBA and Custom Forms 0
A Macro Mail Alert Using Outlook 4
J Outlook 365 Outlook Macro to Sort emails by column "Received" to view the latest email received Outlook VBA and Custom Forms 0
J Macro to send email as alias Outlook VBA and Custom Forms 0
M Outlook Macro to save as Email with a file name format : Date_Timestamp_Sender initial_Email subject Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro GoTo user defined search folder Outlook VBA and Custom Forms 6
D Outlook 2016 Creating an outlook Macro to select and approve Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro to send an Email Template from User Defined Contact Form Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro to check Cursor & Focus position Outlook VBA and Custom Forms 8
V Macro to mark email with a Category Outlook VBA and Custom Forms 4
M Outlook 2019 Macro not working Outlook VBA and Custom Forms 0
S Outlook 365 Help me create a Macro to make some received emails into tasks? Outlook VBA and Custom Forms 1
Geldner Send / Receive a particular group via macro or single keypress Using Outlook 1
D Auto Remove [EXTERNAL] from subject - Issue with Macro Using Outlook 21
V Macro to count flagged messages? Using Outlook 2
sophievldn Looking for a macro that moves completed items from subfolders to other subfolder Outlook VBA and Custom Forms 7
S Outlook Macro for [Date][Subject] Using Outlook 1
E Outlook - Macro - send list of Tasks which are not finished Outlook VBA and Custom Forms 3
E Macro to block senders domain Outlook VBA and Custom Forms 1
D VBA Macro to Print and Save email to network location Outlook VBA and Custom Forms 1
N VBA Macro To Save Emails Outlook VBA and Custom Forms 1
N Line to move origEmail to subfolder within a reply macro Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro to answer a mail with attachments Outlook VBA and Custom Forms 2
A Outlook 2016 Macro to Reply, ReplyAll, or Forward(but with composing new email) Outlook VBA and Custom Forms 0
J Macro to Insert a Calendar Outlook VBA and Custom Forms 8
W Macro to Filter Based on Latest Email Outlook VBA and Custom Forms 6
T Macro to move reply and original message to folder Outlook VBA and Custom Forms 6
D Autosort macro for items in a view Outlook VBA and Custom Forms 2
S HTML to Plain Text Macro - Help Outlook VBA and Custom Forms 1
A Macro to file emails into subfolder based on subject line Outlook VBA and Custom Forms 1
N Help creating a VBA macro with conditional formatting to change the font color of all external emails to red Outlook VBA and Custom Forms 5
S Visual indicator of a certain property or to show a macro toggle Outlook VBA and Custom Forms 2
L Modifying VBA script to delay running macro Outlook VBA and Custom Forms 3
M Replyall macro with template and auto insert receptens Outlook VBA and Custom Forms 1
L Macro to add Date & Time etc to "drag to save" e-mails Outlook VBA and Custom Forms 17
S Macro for Loop through outlook unread emails Outlook VBA and Custom Forms 2
Globalforester ItemAdd Macro - multiple emails Outlook VBA and Custom Forms 3
Witzker HowTo start a macro with an Button in OL contact form Outlook VBA and Custom Forms 12
Witzker Macro to move @domain.xx of a Spammail to Blacklist in Outlook 2019 Outlook VBA and Custom Forms 7
S Macro for other actions - Outlook 2007 Outlook VBA and Custom Forms 23

Similar threads

Back
Top