

Since that interface is Extended MAPI, it can only be accessed using C++ or Delphi. On a general note, the name of the signature is stored in the account profile data accessible through the IOlkAccountManager Extended MAPI interface. Outlook Object Model does not expose signatures at all. if you want to insert your string at the top of the HTML body, look for the "" (this takes care of the element with attributes), then insert your HTML string after that ">". Note that you cannot simply concatenate 2 HTML strings - the strings need to be merged. Once the signature is added, read the HTMLBody property and merge it with the HTML string that you are trying to set.

Outlook adds the signature to the new unmodified messages (you should not modify the body prior to that) when you call MailItem.Display (which causes the message to be displayed on the screen) or when you access the MailItem.GetInspector property - you do not have to do anything with the returned Inspector object, but Outlook will populate the message body with the signature. ObjMail.HTMLBody = ObjMail.Body & "HTML Table goes here" Set ObjMail = OlApp.CreateItem(olMailItem) So I guess my question is now: How do I display the default signature and still display an html table? Sub X() Thanks to JP (see comments), I realize that the default signature is showing up at first, but it disappears when I use HTMLBody to add a table to the email. (Called with getboiler(SigString = "C:\Users\" & Environ("username") & "\AppData\Roaming\Microsoft\Signatures\Mysig.txt")) Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2) Set fso = CreateObject("Scripting.FileSystemObject") So this works, but it's not ideal: Function GetBoiler(ByVal sFile As String) As String

But this will be used by several people and they may have a different name for their default htm signature file. Ideally, I'd like to just use ObjMail.GetDefaultSignature, but I can't find anything like it.Ĭurrently, I'm using the function below (found elsewhere on the internet) and referencing the exact path & filename of the htm file. This would be the default signature that is automatically added when creating a new email. After creating the mailitem object, how do I add the default signature to the email? It's been smooth coding so far, but I'm new to Outlook. I am writing a VBA script in Access that creates and auto-populates a few dozen emails.
