Outlook 2010新电子邮件签名
问题描述:
我希望能够在Outlook 2010中创建一个自定义“新电子邮件”按钮,该按钮用于向默认设置另外一个签名的新电子邮件。我已经看过其他帖子的各种解决方案,但似乎并不适合这个特定的用例。以下是我之后的:Outlook 2010新电子邮件签名
我有一个电子邮件帐户,它将与两个单独的业务实体关联,每个实体都有自己的签名。我想找到一种基于所使用的“新电子邮件”按钮自动选择一个或另一个签名的方法。我为Outlook邮件属性中的默认签名分配添加了第一个实体的签名。我在功能区中添加了一个自定义的新电子邮件按钮,我想在创建新电子邮件时使用第二个实体签名。
这可能吗?关于如何实现这一目标的任何想法?
答
将默认签名设置为无。
用两个不同的签名创建两个模板。创建两个自定义按钮。
http://msdn.microsoft.com/en-us/library/office/ff865637%28v=office.15%29.aspx
Sub CreateFromTemplate1()
Dim MyItem As Outlook.MailItem
Set MyItem = Application.CreateItemFromTemplate("C:\template1.oft")
MyItem.Display
End Sub
Sub CreateFromTemplate2()
Dim MyItem As Outlook.MailItem
Set MyItem = Application.CreateItemFromTemplate("C:\template2.oft")
MyItem.Display
End Sub
答
有代码在这里生成签名。
http://www.rondebruin.nl/win/s1/outlook/signature.htm
应该是这个样子。
Sub Mail_Outlook_With_Signature_Html_2_shortened()
'
' http://www.rondebruin.nl/win/s1/outlook/signature.htm
'
' Don't forget to copy the function GetBoiler in the module.
' Working in Office 2000-2013
Dim OutMail As Object
Dim SigString As String
Dim Signature As String
Set OutMail = CreateItem(0)
'Change only Mysig.htm to the name of your signature
SigString = Environ("appdata") & _
"\Microsoft\Signatures\Mysig.htm"
If Dir(SigString) <> "" Then
Signature = GetBoiler(SigString)
With OutMail
.HTMLBody = "<br>" & Signature
.Display
End With
Else
MsgBox "Signature file not found." & vbCr & SigString
End If
Set OutMail = Nothing
End Sub
Private Function GetBoiler(ByVal sFile As String) As String
'Dick Kusleika
Dim FSO As Object
Dim ts As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Set ts = FSO.GetFile(sFile).OpenAsTextStream(1, -2)
GetBoiler = ts.readall
ts.Close
End Function