2016-12-05 3 views
0

Я пытаюсь отправить электронное письмо с Visual Basic, но Outlook удаляет мою подпись при создании почты. Это мой код до сих пор:Добавить стандартную подпись в Outlook Mail с Visual Basic

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 вокруг любого текста, который вы помещаете в тему, чтобы он отображался так, как вы хотите, но вы можете это сделать, просто добавив их как строки в свой HTML-код.

.HTMLBody = "<p>" & pnamebox.Text & "</p>" '(etc...) 
Смежные вопросы