有没有办法在附件内容之后动态重命名传入电子邮件的主题行?

Is there a way to rename subject lines of incoming emails dynamically, after the contents of an attachment?

我有一个 pdf 文档每天多次通过电子邮件发送给我。文件、文件名和主题行会发生变化,但格式每次都一样。

但是主题行和文件名代码对组织邮件没有用,所以我希望主题行更改为 pdf 文件的部分或全部内容。

到目前为止,我有一个脚本可以更改传入电子邮件的主题行,但它是静态的。显然它不会动态变化,更不用说对附件内容的变化了。

Sub RunAScriptRuleRoutine(MyMail As MailItem)
Dim strID As String
Dim olNS As Outlook.NameSpace
Dim olMail As Outlook.MailItem

strID = MyMail.EntryID
Set olNS = Application.GetNamespace("MAPI")
Set olMail = olNS.GetItemFromID(strID)
' do stuff with olMail, e.g.
olMail.Subject = "new subject line"
olMail.Save

Set olMail = Nothing
Set olNS = Nothing
End Sub

我正在寻找的结果是将传入电子邮件的主题行更改为附加到它的 pdf 文件的内容。

除了便于将附件保存到磁盘外,Outlook 对象模型中没有任何内容专门提供对文件附件内容的访问。您将需要为要解析的每个专有文件内容类型使用额外的 API。