2010-07-28 122 views
1

我們當前使用以下代碼在Outlook中創建電子郵件,以便用戶可以在Outlook中輸入他們想要的內容,然後在發送電子郵件時,系統會提示他們查看是否他們想保存電子郵件。因爲他們不使用Word作爲其電子郵件編輯VB.net 2005使用Outlook 2003發送電子郵件

  Dim objOutlook As Object 
      Dim objMessage As Object 
      Dim objInspector As Object 

      If strEMail <> "" Then 
       objOutlook = CreateObject("Outlook.Application") 
       objMessage = objOutlook.CreateItem(0) 
       objMessage.To = strEMail 

       objInspector = objMessage.GetInspector 
       objInspector.Display() 

       While Not objInspector.CurrentItem Is Nothing 
       End While 

       frmSaveSentEmail.BringToFront() 
       frmSaveSentEmail.ShowDialog() 

的代碼工作正常,在Outlook 2003中,只要。但是,將Word設置爲電子郵件編輯器時,測試查看電子郵件對象是否關閉的while循環永遠不會結束。

有沒有辦法處理這種不同的方式,以便它即使用Word作爲編輯器也能工作?

回答

0

最終改變的環路:

While Not objOutlook.ActiveInspector Is Nothing 
    End While 

這解決了這個問題。

0

我並不是在通過VB.NET編程Outlook方面經驗豐富,但那個循環肯定看起來很可疑。也許你應該嘗試利用檢查員的Close event而不是重複檢查其CurrentItem屬性。如果我沒有弄錯,你應該能夠在事件處理程序中顯示你的對話框。