0

I want to set the message signature automatically each time Outlook starts. Unfortunately, the classic approach using Application_Startup() doesn't work for this. It seems that the objWord.EmailOptions.EmailSignature object is not yet available at this stage of application startup.

Is there a way to execute the script, after Outlook finishes startup?

Private Sub Application_Startup()
   Set objWord = CreateObject("Word.Application")
   Set objSignatureObjects = objWord.EmailOptions.EmailSignature

   objSignatureObjects.NewMessageSignature = "Internal"
   objSignatureObjects.ReplyMessageSignature = "Internal"
End Sub
  • Why are you using Word to set up things in Outlook? – Dave Jun 25 '19 at 07:48
  • The object responsible for the signature are part of the Word namespace. Probably because internally Word is used as the editor for e-mails. Or for some other weird reasons only MS could tell :-) – Detlef Schneider Jun 26 '19 at 11:50

1 Answers1

0

The signatures are being kept as separate files in the Signatures folder. You can find this folder in the following locations:

  • Windows XP

    C:\Documents and Settings\%username%\Application Data\Microsoft\Signatures
    
  • Windows Vista, Windows 7, Windows 8 and Windows 10

    C:\Users\%username%\AppData\Roaming\Microsoft\Signatures
    

To see this folder you must have View hidden files and folders enabled or you can simply copy and paste the above paths in the address bar in Explorer to directly open the folder.

At any point in time, you may go there and edit them - deleting, adding, changing and etc.

Eugene Astafiev
  • 47,483
  • 3
  • 24
  • 45
  • I don't want change the actual template (actually these are overwritten regularly by our IT). I only want to specify in my script, which one to use. – Detlef Schneider Jun 26 '19 at 11:52