【问题标题】:AppointmentItem.GetInspector returns null in if Outlook Application is closed如果 Outlook 应用程序关闭,AppointmentItem.GetInspector 返回 null
【发布时间】:2014-07-10 04:22:25
【问题描述】:

我正在使用 c# 创建一个桌面应用程序来创建和发送 Outlook 约会。我正在尝试使用文字编辑器将 html 文本转换为 rtf 文本。以下是我的代码中获取单词编辑器对象的行 -

inspector = OLAppointmentItem.GetInspector;
Word.Document sDoc = inspector.WordEditor as Word.Document;

当 MS Outlook 应用程序处于打开状态时,我可以获取检查器对象并使用该检查器对象的文字编辑器打开一个 html 文件并将其保存为 rtf 文件。稍后我打开这个 rtf 文件并将 RTF 文本分配给 OlAppointmentItem 的 RTFBody 属性。

但是当 MS Outlook 关闭时,OLAppointmentItem.GetInspector 返回 null,我无法将 HTML 文本转换为 RTF 文本。请告知是否有其他方法可以在约会正文中发送 HTML 文本。

我的最终目标是在约会正文中发送 HTML 模板。

【问题讨论】:

    标签: c# html outlook rtf appointment


    【解决方案1】:

    Inspector 代表一个打开的 Outlook 窗口,因此如果 Outlook 已关闭并且您通过代码启动 Outlook,那么您必须主动显示一个项目(例如 AppointmentItem.Display)才能为其打开一个窗口并访问其 Inspector。

    但如果您只需要访问 HTML,请使用 AppointmentItem.HTMLBody。

    【讨论】:

    • 感谢您的帮助,但我没有找到 AppointmentItem.HTMLBody 属性。我也尝试使用 Redemption 预约,但陷入了不同的问题,例如 RDOAppointmentItem.HTMLBody 无法从 HTML 模板中携带表格。为了克服这个问题,我的想法是先将 html 模板转换为 rtf,然后在 rtf body 属性中使用它。
    • 我的错,AppointmentItem 对象上没有 HTMLBody。但它可以通过 RDOMail.HTMLBody 获得;您可以从 RDOAppointmentItem 对象转换 RDOMail 对象。我不确定你所说的携带“来自 HTML 模板的表格”是什么意思 - 你能澄清一下吗?
    • 从 HTML 模板中携带表格 我的意思是我有一个 HTML 文件,其中包含一些表格格式的文本。如果我阅读此文件并将 html 文本分配给 RDOAppointment.HTMLBody 属性,那么如果收件人使用的是 Android 或 iOS 设备,则表格格式的文本会在收件人端消失。在 Windows 上它工作正常。你谈到了对象的铸造。是否可以创建 RDOMailItem 并为其分配 html 文本,然后将此邮件发送到约会?
    猜你喜欢
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 2015-08-20
    • 1970-01-01
    • 2014-08-15
    相关资源
    最近更新 更多