I always run this procedure from an XL module. This procedure will pu
any signature from the OL2K menus for Inbox, Tools, Options, Mai
Format, drop down box in the Body or any signature there can b
hardcoded into the macro to put in the Body. It will put th
signature at the top or bottom or anywhere in the Body. It will als
concatenate parts of the Body from an XL worksheet, hard coded macr
text and the signatures in OL. I do not know if it is forwar
compatible with XL2003, but if not maybe the techniques can b
modified to work. I tested this code dozens of times before postin
it
Sub MailItem_3_With_Signature_From2ndOlMailItemOL2K_JDG(
Dim olApp As Outlook.Applicatio
Dim olSigMailItem As Outlook.MailIte
Dim olMailItem1 As Outlook.MailIte
Set olApp = New Outlook.Applicatio
Set olMailItem1 = olApp.CreateItem(olMailItem
Set olSigMailItem = olApp.CreateItem(olMailItem
If MsgBox(Prompt:="Select default Signature in menus:"
& vbCrLf & vbCrLf &
"Inbox" & vbCrLf &
"Tools" & vbCrLf &
"Options" & vbCrLf &
"Mail Format - Tab" & vbCrLf &
"Use This Signature by Default",
Buttons:=vbOKCancel)
= vbCancel Then GoTo ExitHandle
With olSigMailIte
'Body method will overwrite automatic default signature
'Plain Text never needed in this Signature mail item
'Comment out line below to use default signature
.Body = "" 'Overwrites default Signature, if any
.Display (False) 'Display required, or signature is lost
End Wit
'SIGNATURE FROM OL INBOX TOOLS OPTIONS MAIL FORMA
'ADDED TO BODY OF olSigMailIte
'Comment out to use default signatur
olSigMailItem.GetInspector.CommandBars.
Item("Standard").Controls("&Signature").
Controls("John Gregory").Execute
'Change Signature above to one in your OL Options, Mail Format Tab
With olMailItem
.To = "(e-mail address removed)
.Subject = "Msg Serial Number 0012
'Body part 1 usually in an XL cell with multiple lines & wor
wrap
'Concatenate new text with a Sig from other olMailItem
.Body = "Concatenate this text and the Body, with a "
& "default signature from the other olMailItem"
& vbCrLf & vbCrLf & olSigMailItem.Bod
'.Body = "Concatenate (1) this text (2) XL cells and" &
" (3) Body with signature in another olMailItem"
& vbCrLf & Range("A1")
& vbCrLf & Range("A2")
& vbCrLf & olSigMailItem.Bod
.Displa
.Sav
End Wit
'PLAIN TEXT method works consistently outside With statement
'Inside a with statement, it fails intermittently! Why
'I ran several dozen tests
olMailItem1.GetInspector.CommandBars.Item("Format").
Controls("Plain Text").Execute 'ID=556
olSigMailItem.Delete 'Delete temporary mail item
ExitHandler
Set olApp = Nothin
Set olSigMailItem = Nothin
Set olMailItem1 = Nothin
End Su