Macro to add date/time stamp to subject

Status
Not open for further replies.

mdfb42

New Member
Outlook version
Outlook 2013 32 bit
Email Account
Outlook.com (as MS Exchange)
Hi all,

A complete Outlook macro newbie here (and a macro newbie in general). I have been trying to get a macro to work to add a date/time stamp to the subject of all emails in the selected outlook folder. I am receiving an error on my 'check' line to avoid duplication of the date/time stamp on emails that the macro has already ran on. The below is my macro. it works as planned, except for the If formula to decide to skip an email or not. Any help resolving this issue would be GREATLY appreciated.

Sub AddFileName2()
Dim myolApp As Outlook.Application
Dim aItem As Object
Set myolApp = CreateObject("Outlook.Application")
Set mail = myolApp.ActiveExplorer.CurrentFolder
Dim iItemsUpdated As Integer
Dim strTemp As String
Dim strFilenum As String
iItemsUpdated = 0
For Each aItem In mail.Items
strTemp = aItem.ReceivedTime & " " & aItem.Subject
If Left(aItem, 8) = Left(aItem.ReceivedTime, 8) Then GoTo Skip
aItem.Subject = strTemp
iItemsUpdated = iItemsUpdated + 1
aItem.Save
Skip:
Next aItem
MsgBox iItemsUpdated & " of " & mail.Items.Count & " Messages Updated"
Set myolApp = Nothing
End Sub

Additionally, if anyone is interested in bonus points, I had to add in this check after I duplicated the macro and therefore the date/time stamp on some emails. If there's an easy variation to have another macro to remove the date/time stamp form the subject line, that would also be a huge help.

Thank you in advance!
 

Attachments

niton

Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server 2010
You forgot the subject.

Code:
If Left(aItem.subject, 8) = Left(aItem.ReceivedTime, 8) Then GoTo Skip

To remove duplicate prefixes:

Code:
Option Explicit

Sub PrefixReceivedTime_RemoveDuplicate()

    Dim aItem As Object
    Dim aMail As mailItem
    Dim aSubject As String
    
    Dim mailFldr As folder
    
    Dim iItemsUpdated As Long
        
    Dim left_Subject As String
    Dim prefixStr  As String
    Dim lenPrefix As Long
    
    Set mailFldr = ActiveExplorer.CurrentFolder
        
    For Each aItem In mailFldr.Items
        
        If aItem.Class = olMail Then
            
            Set aMail = aItem
            prefixStr = aMail.ReceivedTime & " "
            lenPrefix = Len(prefixStr)
            aSubject = aMail.subject
            
            left_Subject = Left(aSubject, 2 * lenPrefix)
            Debug.Print left_Subject
                        
            If left_Subject = prefixStr & prefixStr Then
                aMail.subject = Right(aSubject, Len(aSubject) - lenPrefix)
                Debug.Print aMail.subject
                aMail.Save
                iItemsUpdated = iItemsUpdated + 1
           End If
            
        End If

    Next aItem
    
    MsgBox iItemsUpdated & " of " & mailFldr.Items.count & " Messages Updated"
 
End Sub
 

mdfb42

New Member
Outlook version
Outlook 2013 32 bit
Email Account
Outlook.com (as MS Exchange)
@niton Thank you so much! That is exactly what I was missing, and huge bonus points for helping me remove my duplicates.

Now it's time for me to educate myself by walking through the macro you wrote to increase my understanding as a whole.

Have a great day!
 

newuser

New Member
Outlook version
Outlook 2016 64 bit
Email Account
Exchange Server
You forgot the subject.

Code:
If Left(aItem.subject, 8) = Left(aItem.ReceivedTime, 8) Then GoTo Skip

To remove duplicate prefixes:

Code:
Option Explicit

Sub PrefixReceivedTime_RemoveDuplicate()

    Dim aItem As Object
    Dim aMail As mailItem
    Dim aSubject As String
   
    Dim mailFldr As folder
   
    Dim iItemsUpdated As Long
       
    Dim left_Subject As String
    Dim prefixStr  As String
    Dim lenPrefix As Long
   
    Set mailFldr = ActiveExplorer.CurrentFolder
       
    For Each aItem In mailFldr.Items
       
        If aItem.Class = olMail Then
           
            Set aMail = aItem
            prefixStr = aMail.ReceivedTime & " "
            lenPrefix = Len(prefixStr)
            aSubject = aMail.subject
           
            left_Subject = Left(aSubject, 2 * lenPrefix)
            Debug.Print left_Subject
                       
            If left_Subject = prefixStr & prefixStr Then
                aMail.subject = Right(aSubject, Len(aSubject) - lenPrefix)
                Debug.Print aMail.subject
                aMail.Save
                iItemsUpdated = iItemsUpdated + 1
           End If
           
        End If

    Next aItem
   
    MsgBox iItemsUpdated & " of " & mailFldr.Items.count & " Messages Updated"

End Sub
Hi all,

A complete Outlook macro newbie here (and a macro newbie in general). I have been trying to get a macro to work to add a date/time stamp to the subject of all emails in the selected outlook folder. I am receiving an error on my 'check' line to avoid duplication of the date/time stamp on emails that the macro has already ran on. The below is my macro. it works as planned, except for the If formula to decide to skip an email or not. Any help resolving this issue would be GREATLY appreciated.

Sub AddFileName2()
Dim myolApp As Outlook.Application
Dim aItem As Object
Set myolApp = CreateObject("Outlook.Application")
Set mail = myolApp.ActiveExplorer.CurrentFolder
Dim iItemsUpdated As Integer
Dim strTemp As String
Dim strFilenum As String
iItemsUpdated = 0
For Each aItem In mail.Items
strTemp = aItem.ReceivedTime & " " & aItem.Subject
If Left(aItem, 8) = Left(aItem.ReceivedTime, 8) Then GoTo Skip
aItem.Subject = strTemp
iItemsUpdated = iItemsUpdated + 1
aItem.Save
Skip:
Next aItem
MsgBox iItemsUpdated & " of " & mail.Items.Count & " Messages Updated"
Set myolApp = Nothing
End Sub

Additionally, if anyone is interested in bonus points, I had to add in this check after I duplicated the macro and therefore the date/time stamp on some emails. If there's an easy variation to have another macro to remove the date/time stamp form the subject line, that would also be a huge help.

Thank you in advance!
I copied and ran your macro and I want to know how to delete it now. Any help is appreciated. I probably shouldn't have done it in the first place because I really have no idea what I am doing.
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
You need to delete the macro? Open the VBA editor (alt+F11), find, delete it and save... if its the only macro, close outlook, type or paste %appdata%\microsoft\outlook into the address bar of file explorer then press Enter. Delete VbaProject.OTM
 
Status
Not open for further replies.
Thread starter Similar threads Forum Replies Date
A Email Macro to add Date and Classification Outlook VBA and Custom Forms 2
C Macro to add multiple recipients to message Outlook VBA and Custom Forms 3
S Example VBA Macro - To Conditionally Change the From Account and Add a BCC Address on Emails Outlook VBA and Custom Forms 11
Tanja Östrand Outlook 2016 - Create Macro button to add text in Subject Outlook VBA and Custom Forms 1
snhnic Macro that does not overwrite but add a number Outlook VBA and Custom Forms 1
W Macro to add a word in Subject Line Using Outlook 1
L Macro to Add Catgegory to List of Contacts Using Outlook 4
L Outlook 2007 Macro to Add Text to a Contact Field Using Outlook 10
W Add to Calendar links - auto accept with macro Using Outlook 1
B Auto BCC VBA macro: how to add exceptions? Using Outlook 28
M How to Create Macro in Visual Basic to add Contacts from Personal Folder Using Outlook 4
E Macro to add text to a Message Outlook VBA and Custom Forms 3
P How do I create a macro to add contacts from email messages? Outlook VBA and Custom Forms 1
D Call add-in method from macro? Outlook VBA and Custom Forms 1
S Macro or plug-in to see if specific person was included in this email Outlook VBA and Custom Forms 3
U Macro for reminders,tasks,calendar Outlook VBA and Custom Forms 4
V macro runs slower on startup than after Outlook VBA and Custom Forms 3
N Macro to move all recipients to CC while replying Outlook VBA and Custom Forms 0
A VBA macro for 15 second loop in send and received just for 1 specific mailbox Outlook VBA and Custom Forms 1
G VBA Macro Calendar Printing Assistant 3
R Help Revising VBA macro to delete email over different time span Outlook VBA and Custom Forms 0
M Outlook macro to automate search and forward process Outlook VBA and Custom Forms 6
R Macro Schedule every day in Outlook Using Outlook 0
L Moving emails with similar subject and find the timings between the emails using outlook VBA macro Outlook VBA and Custom Forms 1
Healy Consultants Macro to remove inside organization distribution list email address when reply to all recepients Outlook VBA and Custom Forms 0
geofferyh Cannot get Macro to SAVE more than one message attachment??? Outlook VBA and Custom Forms 5
N How can I increase/faster outlook VBA Macro Speed ? Using Outlook 2
4 Macro to set the category of Deleted Item? Outlook VBA and Custom Forms 2
D.Moore Folder view settings by VBA macro Outlook VBA and Custom Forms 57
A Outlook macro to create search folder with mail categories as criteria Outlook VBA and Custom Forms 3
Dave A Run macro on existing appointment when it changes Outlook VBA and Custom Forms 1
V Outlook Macro to show Flagged messages Outlook VBA and Custom Forms 2
O Run macro automatically at sending an email Using Outlook 11
R Retain Original Message When Forwarding With Macro Outlook VBA and Custom Forms 3
B Reply and replyall macro is not working Outlook VBA and Custom Forms 1
O Macro - paste as plain text Outlook VBA and Custom Forms 2
J Help Please!!! Outlook 2016 - VBA Macro for replying with attachment in meeting invite Outlook VBA and Custom Forms 9
witzker Macro to set contact reminder to next day 9:00 Outlook VBA and Custom Forms 45
M Adding Macro to populate "to" "subject" "body" not deleting email string below. Outlook VBA and Custom Forms 5
E Copying data from e-mail attachement to EXCEL file via macro Outlook VBA and Custom Forms 38
R VBA macro - new message Outlook VBA and Custom Forms 3
S Macro using .SendUsingAccount only works the first time, after starting Outlook Outlook VBA and Custom Forms 4
S VBA Macro - Run-time error '424': object required - Help Please Outlook VBA and Custom Forms 3
B VBA Macro for assigning multiple Categories to an email in my Inbox Outlook VBA and Custom Forms 1
N Macro for attachment saved and combine Outlook VBA and Custom Forms 1
Sabastian Samuel HOW DO I FORWARD AN EMAIL WITH MACRO using an email that in the body of another email Outlook VBA and Custom Forms 3
C Search with Google Macro? Outlook VBA and Custom Forms 4
J Outlook 2013 Extract Flag Completed dates to Excel Macro Outlook VBA and Custom Forms 16
M Slow VBA macro in Outlook Outlook VBA and Custom Forms 5
D Print Attachments only in selected emails using a macro Outlook VBA and Custom Forms 3
Similar threads


















































Top