2014-10-02 95 views
0

我希望能够在Outlook 2010中创建一个自定义“新电子邮件”按钮,该按钮用于向默认设置另外一个签名的新电子邮件。我已经看过其他帖子的各种解决方案,但似乎并不适合这个特定的用例。以下是我之后的:Outlook 2010新电子邮件签名

我有一个电子邮件帐户,它将与两个单独的业务实体关联,每个实体都有自己的签名。我想找到一种基于所使用的“新电子邮件”按钮自动选择一个或另一个签名的方法。我为Outlook邮件属性中的默认签名分配添加了第一个实体的签名。我在功能区中添加了一个自定义的新电子邮件按钮,我想在创建新电子邮件时使用第二个实体签名。

这可能吗?关于如何实现这一目标的任何想法?

回答

0

将默认签名设置为无。

用两个不同的签名创建两个模板。创建两个自定义按钮。

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 
0

有代码在这里生成签名。

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 
相关问题