OutlookVBA用于查找和替换原始电子邮件中的文本

时间:2016-08-27 16:41:51

标签: vba outlook outlook-vba

我正在尝试运行Outlook VBA来查找原始电子邮件中的文本并将其替换为新的电子邮件以及一堆利益相关者。

发现运行脚本的难度。 情景,我收到一封有公司名单的电子邮件。因此,每当我运行此脚本时,它应替换为原始电子邮件中列出的公司名称。

以下是我的剧本。

Sub Test()

Dim origEmail As MailItem

Dim replyEmail As MailItem

Dim oRespond As Outlook.MailItem

Dim strcompany As String

Dim strHTML As String


Set origEmail = Application.ActiveWindow.Selection.Item(1)

Set replyEmail = Application.CreateItemFromTemplate("C:\Users\test-.oft")

strcompany = InputBox("Issue : ", "Replace %company%")

strHTML = Replace(replyEmail.HTMLBody, "Company:", strissue)

replyEmail.HTMLBody = replyEmail.HTMLBody & origEmail.Reply.HTMLBody

replyEmail.Subject = replyEmail.Subject & origEmail.Reply.Subject


replyEmail.Display

End Sub

1 个答案:

答案 0 :(得分:1)

  1. 使用Explorer.SelectionChange(使用Application.ActiveExplorer)跟踪选择更改
  2. 在所选电子邮件上设置事件处理程序。
  3. MailItem.Reply事件触发时,您可以从原始消息中读取属性,并将作为参数传递的新消息的属性填充到事件处理程序中。
  4. 您可以对从开放检查员回复的邮件执行相同的操作(使用Inspectors.NewInspector事件来跟踪在检查员中打开的邮件。)