更改所有出站邮件的主题行

时间:2018-01-17 16:22:48

标签: vba outlook

我找到了以下代码来更新主题。

Sub ChangeSubjectSelection()

Dim selectionIndex As Long
Dim itm As Object

For selectionIndex = 1 To ActiveExplorer.Selection.Count

    Set itm = ActiveExplorer.Selection(selectionIndex)

    If TypeOf itm Is MailItem Then
        itm.Subject = "add value here-" & itm.Subject
        itm.Save
    End If
Next

End Sub
  1. 我想在所有出站电子邮件中使用此功能,但从阅读开始看起来我必须启用宏,这可能会对入站电子邮件造成安全风险 - 是吗?
  2. 我在工具栏中添加了一个按钮,用于触发VBA的出站电子邮件,但它更改了原始电子邮件,而不是REPLY电子邮件。
  3. 我想在 ALL OUTBOUND 电子邮件中使用此功能。转发,新的,回复应该在主题中有这个新词或短语 - 但我当前的方法基本上更新我坐的最后一封电子邮件 - 如果我回复,它会更新原件。如果我正在创建一封电子邮件,它会更新我打开的最后一封电子邮件。

2 个答案:

答案 0 :(得分:0)

所以我找到了问题2的解决方案(感谢本网站上的其他代码:)这是有效的! - 如果您发现使用此问题,请告诉我们。另外 - 我当前在快速访问工具栏中添加了一个按钮,手动运行它以更新主题行。我很乐意在所有出站电子邮件中自动填充 - 所以如果您有任何建议我会很感激!如果可能的话,我宁愿不启用所有宏。 谢谢!!

Dim Item As Outlook.MailItem
Dim oInspector As Inspector
Set oInspector = Application.ActiveInspector
Set Item = oInspector.CurrentItem

If InStr(Item.Subject, "New Value -") > 0 Then

Else

    Item.Subject = "New Value -" & Item.Subject

End If

答案 1 :(得分:0)

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If InStr(Item.Subject, "New Value -") < 1 Then
    Item.Subject = "New Value -" & Item.Subject
End If
End Sub