2016-12-05 35 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をシーケンス内で最初に呼び出さなければならないことに注意してください。また、それを真に設定することは、電子メールウィンドウが開いている間に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 

Bodyの代わりにHTMLBodyを使用しています。あなたの署名に何らかの種類の書式(私が見るほとんどのビジネス電子メールシグネチャ)があれば、HTMLBodyを使用して書式を保持したいと思うでしょう。これは、あなたが望むように表示させるためにあなたがテーマに入れたテキストの周りにいくつかの基本的なHTMLタグを追加する必要があるかもしれないということを意味しますが、あなたはHTMLBodyの文字列としてそれらを追加することによってそれを行うことができます。

.HTMLBody = "<p>" & pnamebox.Text & "</p>" '(etc...) 
関連する問題