2010-07-28 75 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属性。如果我没有弄错,你应该能够在事件处理程序中显示你的对话框。