2016-12-21 2 views
0

Я использую следующий код для создания и открытия электронной почты Outlook. Однако мне нужно иметь возможность вставлять таблицу с некоторыми переменными, и мой текущий метод допускает только базовый текст, может ли кто-нибудь предложить способ, которым я мог бы интегрировать таблицу?Отправлять электронную почту Outlook с помощью таблицы в VB.net

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 в электронная почта.

+0

'HTMLBody = true'. Тогда вы можете легко построить таблицу. –

+0

Я не хочу использовать HTML, так как приемник может не включать его, и поэтому он будет отображаться правильно все время. Мое настоящее мышление заключается в том, чтобы заставить vb редактировать шаблон Outlook. – user3516240

ответ

0

Сначала извлеките DoEvents() из кода. Они ничего не помогают.

Что касается таблицы, самый простой способ сделать это - создать тело сообщения как строку HTML, которая включает в себя таблицу. Конечно, для этого требуется, чтобы получатель электронной почты принял HTML.

+0

Я не хочу использовать HTML, так как приемник может не включать его, и поэтому он будет отображаться правильно все время. Мое настоящее мышление заключается в том, чтобы заставить vb редактировать шаблон Outlook. – user3516240

+0

В этом случае 'DoEvents()' используется как следует. Было бы лучше (если бы размер/архитектура приложения оправдывал его), чтобы иметь отдельный поток обработки пользовательских интерфейсов, но мы не знаем, что приложение OP использует многопоточность (или должно). В этом случае он выполняет эту работу. Остальная часть вашего ответа верна. – vbnet3d

+0

взгляните на это ... вы можете понять некоторые проблемы с DoEvents(); –

Смежные вопросы