【问题标题】:VBA e-mail from meeting losing its format?来自会议的 VBA 电子邮件丢失其格式?
【发布时间】:2021-12-14 23:32:42
【问题描述】:

我创建了一个 VBA 代码,它将在每封电子邮件的末尾附加一些内容。我正在使用:

With objItem
    '.HTMLBody = .HTMLBody & "<p><p>" & TextID
End With

它通常工作正常,但我发现,当我从会议(会议纪要/摘要)生成电子邮件时,它基本上会丢失其格式。我做了一个测试,甚至只是直接做一个.HTMLBody = .HTMLBody 不会保持格式。

  1. 这是原始电子邮件: /

  2. 这是我应用后的图像。同样,它只发生在会议生成的电子邮件中。 /

我猜这是因为约会和会议对象没有.HTMLBody 属性。所以,我的问题是:

  1. 我的猜测准确吗?
  2. 是否有简单的解决方法(不需要从电子邮件或检查员复制粘贴)?
  3. 有没有办法检测我发送的电子邮件是否来自会议?

【问题讨论】:

  • 你为什么使用&lt;p&gt;?我认为这就是原因。如果你改用&lt;br&gt; 会发生什么?
  • 另外,使用&lt;p&gt; 标签的正确方法是将其用作容器,就像&lt;div&gt; - 所以像这样&lt;p&gt;This is inside the paragraph&lt;/p&gt; but this is not

标签: vba outlook


【解决方案1】:

但我发现,当我从会议(会议纪要/摘要)生成电子邮件时,它基本上会丢失其格式

约会(会议)不使用基于 HTML 的邮件正文。相反,RTFBody 属性可供他们使用。您可以使用 Microsoft Visual Basic for Applications (VBA) 或 Visual Basic 中的 StrConv 函数将字节数组转换为字符串。

您可以使用构建 Outlook 的低级别 - 扩展 MAPI。 PR_HTML 属性(DASL 为 http://schemas.microsoft.com/mapi/proptag/0x10130102)返回与 OOM 不同的 HTML 标记。

但是有一个通用的解决方案 - 使用 Word 对象模型来处理机智消息体。请参阅Chapter 17: Working with Item Bodies 了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 1970-01-01
    • 2013-11-30
    • 2014-09-03
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    相关资源
    最近更新 更多