使用 Visual Basic 向 Outlook 邮件添加标准签名

Add standard signature to Outlook Mail with Visual Basic

我正在尝试使用 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 的新手,感谢任何帮助。

最大

主要是这个的副本? Inserting Signature into Outlook email from Excel VBA

无论如何我会注意到,根据我的经验,我必须让 mailItem.Display 成为序列中调用的第一件事,以便正确保存签名。此外,将其设置为 true 并不能使其可见,这是一个选项,可以让您在电子邮件 window 打开时无法单击 Outlook 应用程序。除非您打算这样做,否则最好将其保留为默认值 false,这样您可以在电子邮件 window 打开时单击 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 标签,以使其按您想要的方式显示,但您只需将它们作为字符串添加到 HTML正文

.HTMLBody = "<p>" & pnamebox.Text & "</p>" '(etc...)