VB.net 2005使用Outlook 2003发送电子邮件
问题描述:
我们当前使用以下代码在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作为编辑器也能工作?
答
最终改变的环路:
While Not objOutlook.ActiveInspector Is Nothing
End While
这解决了这个问题。
答
我并不是在通过VB.NET编程Outlook方面经验丰富,但那个循环肯定看起来很可疑。也许你应该尝试利用检查员的Close
event而不是重复检查其CurrentItem
属性。如果我没有弄错,你应该能够在事件处理程序中显示你的对话框。