2016-12-05 57 views
0

我想用Visual Basic发送电子邮件,但Outlook在创建邮件时删除了我的签名。 这是我到目前为止的代码:将标准签名添加到带有Visual Basic的Outlook邮件中

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 


      Dim oApp As Outlook.Application = New Outlook.Application 
      Dim mailItem As Outlook.MailItem = oApp.CreateItem(Outlook.OlItemType.olMailItem) 

      mailItem.Subject = "Abgabe " + pnamebox.Text + " " + vnummerbox.Text 
      mailItem.To = "" 
      mailItem.CC = "" 
      mailItem.Body = pnamebox.Text 
      mailItem.GetInspector.Display() 
      mailItem.Importance = Outlook.OlImportance.olImportanceNormal 
      mailItem.Display(True) 
      mailItem = Nothing 
      oApp = Nothing  

    End Sub 

我很新的Visual Basic和欣赏任何帮助。

最大

回答

1

大部分是这样的重复? Inserting Signature into Outlook email from Excel VBA

在任何情况下,我会注意到,根据我的经验,我必须让mailItem.Display成为在序列中调用的第一件事,以便正确保存签名。也将它设置为true不是使其可见的原因,这是一个选项,它使您无法在电子邮件窗口打开时单击Outlook应用程序。除非您打算这样做,否则将其保留为默认值为false可能很好,这可让您在打开电子邮件窗口时单击Outlook。

Dim oApp As Outlook.Application = New Outlook.Application 
Dim mailItem As Outlook.MailItem = oApp.CreateItem(Outlook.OlItemType.olMailItem) 

dim mySignature as string 

with mailItem 
.Display 
.Subject = "Abgabe " & pnamebox.Text & " " & vnummerbox.Text 
.To = "" 
.CC = "" 
mySignature = .HTMLBody 
.HTMLBody = pnamebox.Text & mySignature 
end with 

另外你会注意到我用HTMLBody代替Body。如果您的签名具有任何格式(我看到的大多数商业电子邮件签名都是这样做的),您将需要使用HTMLBody来保留格式。这确实意味着您可能需要在放入主题的任何文本周围添加一些基本的HTML标记,以使其显示出来,但只需将它们添加为HTMLBody中的字符串即可。

.HTMLBody = "<p>" & pnamebox.Text & "</p>" '(etc...) 
相关问题