回复/转发/发送时如何在主题中添加特定的附件名称?
Posted
技术标签:
【中文标题】回复/转发/发送时如何在主题中添加特定的附件名称?【英文标题】:How do I add a specific attachment name to subject when replying/forwarding/sending? 【发布时间】:2018-07-18 08:11:04 【问题描述】:我是新来的,但我开始对 VBA 和宏很感兴趣,它们可以帮助我保持邮箱井井有条。 简而言之,我在翻译办公室工作,每当客户要求翻译时,我都会向他们发送我们服务的报价(报价 XXXX.pdf)。
我找到以下字符串将附件名称添加到邮件主题:
Private WithEvents Mail As Outlook.MailItem
Private WithEvents Inspectors As Outlook.Inspectors
Private Sub Application_Startup()
Set Inspectors = Application.Inspectors
End Sub
Private Sub Inspectors_NewInspector(ByVal Inspector As Inspector)
If TypeOf Inspector.CurrentItem Is Outlook.MailItem Then
Set Mail = Inspector.CurrentItem
End If
End Sub
Private Sub Mail_AttachmentAdd(ByVal Attachment As Attachment)
Mail.Subject = " / (" & Attachment.DisplayName & ")"
End Sub
但是,无论附加什么,它都只会用附件名称替换旧主题(并添加“ / ()”)。我的邮件签名还包含一个小图像文件,因此有时会将图像名称复制到主题行。
我有 2 个问题,非常感谢您的帮助:
-
如何使它添加附件名称,而不是替换旧主题,使其看起来像
旧主题文本/(引用 XXXX.pdf)
-
如何使此宏仅适用于引号(仅当附件包含“引号”时才将附件名称添加到主题)?
非常感谢!
【问题讨论】:
【参考方案1】:抱歉,我自己似乎找到了解决方案。这是更新后的脚本:
Private WithEvents Mail As Outlook.MailItem
Private WithEvents Inspectors As Outlook.Inspectors
Private Sub Application_Startup()
Set Inspectors = Application.Inspectors
End Sub
Private Sub Inspectors_NewInspector(ByVal Inspector As Inspector)
If TypeOf Inspector.CurrentItem Is Outlook.MailItem Then
Set Mail = Inspector.CurrentItem
End If
End Sub
Private Sub Mail_AttachmentAdd(ByVal Attachment As Attachment)
If Attachment.DisplayName Like "*Quote*" Then
Mail.Subject = Mail.Subject & " / " & Attachment.DisplayName
End If
End Sub
【讨论】:
以上是关于回复/转发/发送时如何在主题中添加特定的附件名称?的主要内容,如果未能解决你的问题,请参考以下文章