【问题标题】:Outlook 2013 rule with Run a Script to Update subject and forward mail带有运行脚本以更新主题和转发邮件的 Outlook 2013 规则
【发布时间】:2015-01-15 10:09:04
【问题描述】:

我正在尝试创建一个脚本,该脚本将在转发电子邮件之前将文本添加到电子邮件的主题中。这是我第一次写。

我的标准是根据规则设置的。脚本将检查主题。根据主题中的文字,它会添加特定的文字。

例如,我收到的电子邮件的主题中包含 JobsDB,那么应该添加到主题的文本是 Jobs DB。如果主题不包含 JobsDB,则将转到下一个 IF 以检查它是否包含 Indeed。如果没有,它会去另一个 IF 检查它是否包含 LinkedIn。

当前代码:

Sub ForwardEmailIndeed(Item As Outlook.MailItem)

Set myForward = Item.Forward

If Item.Subject.Contains("Indeed") Then
    myForward.Subject = Item.Subject & ("Indeed")

If Item.Body.Contains("s1JOBS") Then
    myForward.Subject = Item.Subject & ("S1 Jobs")

If Item.Subject.Contains("JobsDB") Then
    myForward.Subject = Item.Subject & ("JobsDB")

If Item.Subject.Contains("TradeWindsJobs") Then
    myForward.Subject = Item.Subject & ("Tradewinds")

If Item.From.Contains("auto@oilandgasjobsearch.com") Or _
  Item.Body.Contains("oilandgasjobsearch.com") Then
    myForward.Subject = Item.Subject & ("Oil&Gas JobSearch")

If Item.From.Contains("LinkedIn") Or _
  Item.Body.Contains("LinkedIn") Then
    myForward.Subject = Item.Subject & ("Linkedin Advert")

End If

myForward.Recipients.Add "email@yahoo.com"

myForward.Send

End Sub

我的规则正常工作,但脚本不工作。

此代码以前对我有用。

Sub ForwardEmail(Item As Outlook.MailItem)

    Set myForward = Item.Forward

    myForward.Subject = Item.Subject & (“Indeed”)
    myForward.Recipients.Add “email@yahoo.com”
    myForward.Send

End Sub

它不再起作用了。它不转发任何东西。

【问题讨论】:

  • 那么您是否尝试过单步执行脚本以查看发生了什么?

标签: vba email outlook outlook-2013


【解决方案1】:

您正在寻找 InStr not Contains。

http://msdn.microsoft.com/en-us/library/office/gg264811%28v=office.15%29.aspx

Option Explicit

Private Sub ForwardEmailIndeed_test()
' Open a mailitem first
Dim curritem As mailitem
Set curritem = ActiveInspector.currentItem
ForwardEmailIndeed curritem
End Sub


Sub ForwardEmailIndeed(Item As Outlook.mailitem)

Dim myForward As mailitem

Set myForward = Item.Forward

If InStr(Item.Subject, "Indeed") Then
    myForward.Subject = Item.Subject & ("Indeed")
End If

If InStr(Item.body, "s1JOBS") Then
    myForward.Subject = Item.Subject & ("S1 Jobs")
End If

If InStr(Item.Subject, "JobsDB") Then
    myForward.Subject = Item.Subject & ("JobsDB")
End If

If InStr(Item.Subject, "TradeWindsJobs") Then
    myForward.Subject = Item.Subject & ("Tradewinds")
End If

If InStr(Item.SenderEmailAddress, "auto@oilandgasjobsearch.com") Or _
  InStr(Item.body, "oilandgasjobsearch.com") Then
    myForward.Subject = Item.Subject & ("Oil&Gas JobSearch")
End If

If InStr(Item.SenderEmailAddress, "LinkedIn") Or _
  InStr(Item.body, "LinkedIn") Then
    myForward.Subject = Item.Subject & ("Linkedin Advert")
End If

myForward.Recipients.Add ("email@yahoo.com")

myForward.Send

End Sub


Private Sub ForwardEmail_test()
' Open a mailitem first
Dim curritem As mailitem
Set curritem = ActiveInspector.currentItem
ForwardEmailIndeed curritem
End Sub

Sub ForwardEmail(Item As Outlook.mailitem)

Dim myForward As mailitem
Set myForward = Item.Forward

myForward.Subject = Item.Subject & ("Indeed")
myForward.Recipients.Add ("email@yahoo.com")

myForward.Send

End Sub

【讨论】:

    猜你喜欢
    • 2016-09-25
    • 1970-01-01
    • 2012-06-21
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多