无法投射COM对象 – Microsoft Outlook和C#
我写了这个代码来查看我的Outlook邮箱中未读的项目,这里是代码:
Microsoft.Office.Interop.Outlook.Application app; Microsoft.Office.Interop.Outlook.Items items; Microsoft.Office.Interop.Outlook.NameSpace ns; Microsoft.Office.Interop.Outlook.MAPIFolder inbox; Microsoft.Office.Interop.Outlook.Application application = new Microsoft.Office.Interop.Outlook.Application(); app = application; ns = application.Session; inbox = ns.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox); items = inbox.Items; foreach (Microsoft.Office.Interop.Outlook.MailItem mail in items) { if (mail.UnRead == true) { MessageBox.Show(mail.Subject.ToString()); } } 但是在foreach循环中,我得到这个错误:
你能协助我如何解决这个错误?
我不得不绕过像你这样的问题一样.
foreach (Object _obj in _explorer.CurrentFolder.Items) { if (_obj is MailItem) { MyMailHandler((MailItem)_obj); } } 希望有帮助. 这里的问题是_explorer.CurrentFolder.Items可以包含更多的对象,而不仅仅是MailItem(PostItem是其中之一). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows – 如何劫持Caps Lock键以进行剪切,复制,粘贴键盘操
- uml – 如何在Microsoft Visio 2007中的序列图中表示循环?
- windows-server-2003 – 监控服务器温度的最佳方法是什么?
- 在Windows XP上使用的端口
- .net – 在Windows 10上构建Windows Universal App时出现问
- Windows Media Player各个版本
- windows – 将Node.js-Scripts node.exe打包成单个可执行文
- .net – 如何在WinRT中清除TimeZoneInfo缓存?
- 无法在Windows上将memcached 1.4.5作为服务安装
- ms-access – 如何防止“请告诉Microsoft有关此问题”的对话