2016-12-21 8 views
0

次のコードを使用してOutlook電子メールを生成して開きます。しかし、私はいくつかの変数とテーブルを挿入することができる必要があり、私の現在のメソッドは、基本的なテキストだけを許可誰も私はテーブルを統合する方法を示唆している?ここで VB.netのテーブルを使用してOutlook電子メールを送信

Try 
     lblStatus.Text = "Opening OutLook Mail, Please Wait..." 
     My.Application.DoEvents 
     Dim Outl As Object 
     Outl = CreateObject("Outlook.Application") 
     If Outl IsNot Nothing Then 
      Dim omsg As Object 
      omsg = Outl.CreateItem(0) 
      omsg.body = "Table should go here" 
      omsg.To = "*address goes here" 
      omsg.subject = SubjectLine 
      'set message properties here...' 
      omsg.Display(false) 'will display message to user 
      lblStatus.Text = "Outlook Mail Template Opened." 
      My.Application.DoEvents 
     End If 
    Catch ex As Exception 
     lblStatus.Text = "Opening OutLook Mail | Error Encountered" 
      My.Application.DoEvents 
     'log error 
    End Try 

は、テーブルは以下のようにする必要があるものの例です:

enter image description here

もちろんありますが、Outlookによって使用されるコードのフォーマットが、私はへのVisual Basicからそれを送信する方法がわかりませんEメール。

+0

'HTMLBody = true'それでテーブルを非常に簡単に作ることができました。 –

+0

受信機が有効になっていない可能性があり、そのために常に正しく表示されないため、HTMLを使用したくありません。私の現在の考え方は、vbに.oft Outlookテンプレートを編集させることです。 – user3516240

答えて

0

まずDoEvents()をコードから取り出します。彼らは何も助けていない。

テーブルに関しては、メッセージ本体をテーブルを含むHTML文字列として構築するのが最も簡単な方法です。もちろん、それは電子メールセットの受信者がHTMLを受け入れることを要求します。

+0

受信機が有効になっていない可能性があり、そのために常に正しく表示されないため、HTMLを使用したくありません。私の現在の考え方は、vbに.oft Outlookテンプレートを編集させることです。 – user3516240

+0

この場合、 'DoEvents()'は必要に応じて使用されています。 UIアップデートを扱う別のスレッドを持つ方が良いでしょう(しかし、アプリケーションのサイズ/アーキテクチャがそれを正当化した場合)、OPのアプリケーションがマルチスレッドを使用することさえも知らない(またはすべきです)。この場合、それは仕事をします。残りの答えは正しいです。 – vbnet3d

+0

これを見てください...あなたはDoEvents()のいくつかの問題を理解するかもしれません。 –

関連する問題