【问题标题】:Outlook VBA - How to get email item from user inputOutlook VBA - 如何从用户输入中获取电子邮件项目
【发布时间】:2018-12-26 19:22:14
【问题描述】:

虽然我对 Excel VBA 非常有经验,但我对 Outlook VBA 的了解不多(从字面上看是昨天开始的),所以我不确定如何完成这个简单的任务:

我创建了一些代码来从收件箱中获取特定的电子邮件,然后对其进行解析和转发 - 这部分一切都很好。目前,该代码使用一组参数自动检测和检索电子邮件项目以过滤收件箱。但是,现在我需要扩展此代码,以便它可以与 any 电子邮件项目一起工作,而不仅仅是那个特定的电子邮件。

我的想法是让用户输入他/她想要解析和转发的电子邮件项目,而不是让代码在特定位置查找。怎么可能呢?我经常使用的用户输入方法是 InputBox(它返回一个字符串)和 GetOpenFileName,它们都不适合指向 Outlook 中的邮件项。

我曾考虑让代码与当前打开的电子邮件项目一起工作,但用户经常同时打开多个电子邮件项目 - 强迫他们只打开一个以使代码工作是不可行的。此外,代码将由几乎没有 IT 专业知识的人运行,因此请求诸如路径之类的东西也不是一种选择。有什么办法吗?

【问题讨论】:

  • xyproblem.info 似乎您想引用一个活动的或选定的项目。

标签: vba outlook user-input mailitem


【解决方案1】:

我认为使用 Active MailItem 是可行的方法,正如@niton 所建议的那样。我使用的编码与this post 中的编码非常相似,尽管我必须开发处理程序以防用户当前有其他类型的对象处于活动状态(例如 AppointmentItems)或选择了多个项目。最终的解决方案并没有那么优雅——我希望有某种系统输入框,用户可以在其中指向邮件或其他东西,但这是可行的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-09
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 1970-01-01
    • 2011-08-24
    • 2016-10-21
    相关资源
    最近更新 更多