【问题标题】:Is it possible to delete the signature from a email body, when importing it from outlook to excel using VBA使用VBA将其从Outlook导入Excel时,是否可以从电子邮件正文中删除签名
【发布时间】:2016-01-06 15:01:17
【问题描述】:

我想知道在将电子邮件导入 excel 时是否可以从电子邮件正文中删除签名?

我正在尝试Tony Dallimore from this earlier posted topic 建议的解决方案,将电子邮件从 Outlook 导入 excel。

【问题讨论】:

  • 是的,这是可能的。当您尝试 Tony 的解决方案时发生了什么?
  • 嗨,坦克的答案。注意使用此解决方案时发生了特殊情况。我曾希望代码向我展示了 HTMLBoddy 中隐藏的起点。但它只显示了文本中的[CR]、[LF]、[NBSP]和[TAB]。

标签: vba excel email outlook


【解决方案1】:

不幸的是,这几乎是不可能的,除非您可以期待一些可以表示签名开始位置的独特文本,以便您可以将其删除。这在撰写模式下是可能的,其中任何签名都包含在 <span style='mso-bookmark:_MailAutoSig'> 块中。但是,在发送电子邮件时,该块会被删除,并且不会出现在收到的副本中。

【讨论】:

  • 您好,感谢您的回答。这与我在谷歌上搜索后的印象相同。但我希望这是一个小机会,签名有一些隐藏的开始引用,在邮件发送后保存。我也尝试过正则表达式。尝试制作可以识别起始位置的图案。但我放弃了。再次感谢您的回复!
【解决方案2】:

Eric 的建议仅在基于 HTML 的消息的情况下才有意义。

但用户可能更喜欢以纯文本形式编写项目。在这种情况下,建议的书签搜索方式将失败。您需要知道签名内容并在正文中搜索。

默认情况下,您可以在以下位置找到 Signatures 文件夹;

Windows XP

  • C:\Documents and Settings\%username%\Application Data\Microsoft\Signatures

Windows 8、Windows 7 和 Windows Vista

  • C:\Users\%username%\AppData\Roaming\Microsoft\Signatures 查找以下文件和文件夹;

[signature_name].htm - 创建 HTML 消息时使用此文件。

[signature_name].rtf - 创建富文本消息时使用此文件。

[signature_name].txt - 创建纯文本消息时使用此文件。

[signature_name]_files - 此文件夹在 Outlook 中用于存储签名的支持文件,例如格式、图像和/或名片(vcf 文件)。

因此,您可以检查文件夹中是否有相应的签名文件,阅读文件内容并尝试根据使用的BodyFormat 在邮件正文中找到此类文本。

Outlook 对象模型提供了三种处理项目主体的主要方式:

  1. Body - 表示 Outlook 项目的明文正文的字符串。
  2. HTMLBody - 表示指定项的 HTML 正文的字符串。
  3. Word editor - 正在显示的消息的 Microsoft Word 文档对象模型。 Inspector 类的 WordEditor 属性从 Word 对象模型返回 Document 类的一个实例,您可以使用它来设置消息正文。

您可以在Chapter 17: Working with Item Bodies 中阅读有关所有这些方式的更多信息。由您决定选择哪种方式来自定义消息正文中的签名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 2020-10-06
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    • 1970-01-01
    • 2018-03-25
    相关资源
    最近更新 更多