我有一条规则,即每当我收到主题行中包含特定字词的电子邮件时,它都会触发此脚本。
该脚本会将电子邮件转发给主题行中的特定用户,并使用单词编辑器删除电子邮件正文的第一行并将其更改为“Hi”。
当我使用.Display
方法然后手动点击send
它工作正常,但每当我使用.Send
方法时,Outlook都不会更新/接收邮箱中的电子邮件不会转发编辑过的电子邮件。我需要关闭/重新启动脚本的outlook才能再次触发。
脚本有什么问题?
Sub EmailForward(item As Outlook.MailItem)
Dim body As String
Dim MI As MailItem
Dim oMail As Outlook.MailItem
Dim olInsp As Outlook.Inspector
Dim wdDoc As Object
Dim oRng As Object
Dim objSel As Word.Selection
Dim olApp As Outlook.Application
Set MI = item
Set olApp = Outlook.Application
item.Subject = Replace(item.Subject, ", 4 - Low, Open", "")
item.Subject = Replace(item.Subject, ", 4 - Low, New", "")
item.Save
Eadd = Right(MI.Subject, Len(MI.Subject) - InStr(MI.Subject, "|"))
Set oMail = MI.Forward
oMail.Subject = MI.Subject
oMail.To = Eadd
oMail.HTMLBody = item.HTMLBody
Set olInsp = oMail.GetInspector
Set wdDoc = olInsp.WordEditor
Set oRng = wdDoc.Range(0, 0)
Set objSel = wdDoc.Windows(1).Selection
'oRng.Text = "The accompanying message text"
objSel.MoveDown wdLine, 1, wdExtend
objSel.Delete wdCharacter, 1
objSel.TypeText Text:="Hi,"
objSel.TypeParagraph
oMail.SendUsingAccount = olApp.Session.Accounts.item(1)
oMail.Display
oMail.Save
oMail.Send
End Sub
答案 0 :(得分:2)
这是Outlook中的一个已知问题。您必须先调用Display方法才能使检查器可见。
使用HTMLBody或Body属性动态修改邮件正文。