Solved

How to Change the subject of emails on one folder depending on the sender

Posted on 2008-06-11
6
396 Views
Last Modified: 2013-11-27
I've been requested to create a macro that will change the subject of a email  message depending on the sender.
the problem is that the user receives many emails regarding orders, the messages are place in a folder by a rule and I want to change the subject
i.e.
i receive a message from john@doe.com with the subject
"Status of Shipments 01/01/08"
I want to be able to change the subject to read:
"ONTARIO - Status of Shipments 01/01/08"

My Idea is to be able to select a number of emails on the personal folder file
lets say the name of the folder is "IBA"

So the logic for this macro is
for all messages selected in folder "IBA" if the sender is John@Doe.com then
take the subject and add at the begining of the subject "ONTARIO - "
if the sender is Jane@doe.com then then take the subject
and add at the begining of the subject "VERNON - " 
0
Comment
Question by:TOPIO
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
6 Comments
 
LVL 76

Accepted Solution

by:
David Lee earned 500 total points
ID: 21772413
Hi, TOPIO.

This should do it.  I haven't tested it though.
Sub FixSubject()
    Dim olkMsg As Outlook.MailItem
    For Each olkMsg In Application.ActiveExplorer.Selection
        Select Case olkMsg.SenderEmailAddress
            'Create a Case statement like one of these for each possible address
            'The address must be an exact match including case
            Case "John@Doe.com"
                olkMsg.Subject = "ONTARIO - " & olkMsg.Subject
            Case "Jane@Doe.com"
                olkMsg.Subject = "VERNON - " & olkMsg.Subject
        End Select
        olkMsg.Save
    Next
    Set olkMsg = Nothing
    MsgBox "All done!"
End Sub

Open in new window

0
 
LVL 10

Author Comment

by:TOPIO
ID: 21774629
I get the following error:

Select Case olkMsg.SenderEmailAddress <<<<Object Does not Support this property or method
0
 
LVL 10

Author Comment

by:TOPIO
ID: 21774680
I corrected the previous error by changing
strOriginAddress = olkMsg.SenderName

however when I run the macro on meeting requests I get the following error

For Each olkMsg In Application.ActiveExplorer.Selection <<< Run time error '13' Type Mismatch
0
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

 
LVL 76

Expert Comment

by:David Lee
ID: 21774753
Apologies for the first error.  I didn't know what version of Outlook you're using.

The second error would occur if something other than a mail message was selected.  Either insure that all the items you've selected are mail items, or change this line

    Dim olkMsg As Outlook.MailItem

to

    Dim olkMsg As Object
0
 
LVL 10

Author Comment

by:TOPIO
ID: 21774788
THANKS!
FINAL VERSION  IS BELOW

Sub FixSubjectForIBAMails()
    Dim olkMsg As Object
    Dim strOriginAddress As String
    
    For Each olkMsg In Application.ActiveExplorer.Selection
    
    strOriginAddress = olkMsg.SenderName
                      
                        
  '  MsgBox strOriginAddress
        Select Case strOriginAddress
            'Create a Case statement like one of these for each possible address
            'The address must be an exact match including case
            Case "Garcia, Carmen"
                olkMsg.Subject = "VERNON - " & olkMsg.Subject
            Case "Ibarra, David"
                olkMsg.Subject = "VERNON - " & olkMsg.Subject
            Case "Olmos, Claudia"
                olkMsg.Subject = "VERNON - " & olkMsg.Subject
            Case "Pedroza, Norma"
                olkMsg.Subject = "ONTARIO - " & olkMsg.Subject
             Case "Vega, Vanessa"
                olkMsg.Subject = "VERNON - " & olkMsg.Subject
                
                
        End Select
        olkMsg.Save
    Next
    Set olkMsg = Nothing
    MsgBox "All done!"
End Sub

Open in new window

0
 
LVL 76

Expert Comment

by:David Lee
ID: 21774955
You're welcome.  Glad I could help out.
0

Featured Post

Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Many people use more than one email account and so it becomes difficult for them to manage them when they use separate accounts,  so, in this article, I have shared an easy way to add Other Mail Accounts in your Google Inbox. It helps to combine all…
Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question