2016-12-21 1 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에서 사용 코드를 포맷,하지만 난에 시각적 기본에서 그를 전송하는 방법을 모른다 이메일.

+0

'HTMLBody = true' 그러면 테이블을 아주 쉽게 만들 수 있습니다. –

+0

수신기를 사용할 수 없기 때문에 HTML을 사용하고 싶지 않으므로 항상 올바르게 표시되지 않습니다. 현재 생각하고있는 방법은 Visual Basic에서 .oft Outlook 템플릿을 편집하는 것입니다. – user3516240

답변

0

먼저 코드에서 DoEvents()를 가져옵니다. 그들은 아무 것도 돕지 않습니다.

테이블의 경우 가장 간단한 방법은 메시지 본문을 테이블을 포함하는 HTML 문자열로 작성하는 것입니다. 물론, 이메일 수신자가 HTML을 허용하도록 설정해야합니다.

+0

수신기를 사용할 수 없기 때문에 HTML을 사용하고 싶지 않으므로 항상 올바르게 표시되지 않습니다. 현재 생각하고있는 방법은 Visual Basic에서 .oft Outlook 템플릿을 편집하는 것입니다. – user3516240

+0

이 경우'DoEvents()'를 사용해야합니다. UI 업데이트를 처리하는 별도의 스레드를 갖는 것이 더 좋을 것입니다 (그러나 응용 프로그램의 크기/아키텍처가이를 정당화하는 경우). 그러나 OP 응용 프로그램이 멀티 스레딩을 사용하는지조차 알지 못합니다. 이 경우 작업을 수행합니다. 나머지는 맞습니다. – vbnet3d

+0

이것 좀보세요 ... DoEvents()의 몇 가지 문제점을 이해할 수 있습니다. –

관련 문제