Outlook Signature using VBA

Not sure if this is possible but I thought I would ask. We have different email signatures that we use throughout our company. We want to change these signatures monthly for all users. Is there a way to have it use a specific email signature for a given month? For example if we had SignatureA, SignatureB, and SignatureC and wanted to use SignatureA for January, February, and March. And then SignatureB for April, May, and June. And then SignatureC for the balance of the year. Could this be done in VBA code so the users don't have to remember to switch the signature? Or maybe have a list of the signature names in an Excel file with date ranges and have Outlook look at this file before it sends an email to see which signature to use based on the current date. But something like this would need to be set up on all my users Outlook program.
Lawrence SalvucciInformation Technology ManagerAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Randy PooleCommented:
The only way I know you could accomplish this by doing this in Outlook is to capture the thisOutlookSession objects event:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

Open in new window

Make sure there are no default signatures enabled for the account, then append the HTMLBody or Body of the item passed to the event based upon if this is an HTML email or plain text.
Lawrence SalvucciInformation Technology ManagerAuthor Commented:
I'm not very tech savvy with VBA so I really wouldn't know where to start with this. Would it make sense to store these signatures in a Word Doc already formatted and then have all the users pull the signature from this file? This way we could change the Word Doc based on what signature we wanted to use.
David LeeCommented:
Hi, lsalvucci.

Yes, what you described is possible.  The simplest way is to set Outlook to use a given signature name.  For example, have everyone set Outlook to use a signature called "Corporate Signature".  That will create three files in the user's Signature folder (i.e. c:\Users\<username>\AppData\Roaming\Microsoft\Signatures), one for each mail format (i.e. HTML, plain text, rich text).  You can then use a script or batch to overwrite those three files on some schedule.  For example, if you're organization uses a logon script, then you could include the commands there.  Using your example, on the 1st of January you would overwrite the signature files with signature A.  On April 1st you'd overwrite them with signature B.  Does that make sense?

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Lawrence SalvucciInformation Technology ManagerAuthor Commented:
Yes that makes sense. I think that's a good solution. I'll set that up and see how it works. Thank you for your help!
David LeeCommented:
You're welcome.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.