我正在嘗試建立一個可以轉發我收到的電子郵件的vba。唯一的問題是我要轉發的電子郵件有不同的主題。只是開頭是一樣的。這就是我已經使用它的程度(這應該插入到 ThisOutlookSession 中)。有人可以幫我嗎?
Public WithEvents objInbox As Outlook.Folder
Public WithEvents objInboxItems As Outlook.Items
Private Sub Application_Startup()
Set objInbox = Outlook.Application.Session.GetDefaultFolder(olFolderInbox)
Set objInboxItems = objInbox.Items
End Sub
Private Sub objInboxItems_ItemAdd(ByVal item As Object)
Dim objMail As Outlook.MailItem
Dim objForward As Outlook.MailItem
If TypeOf item Is MailItem Then
Set objMail = item
'If it is a specific new email'
If (objMail.Subject = "Offer Response Received") Then
Set objForward = objMail.Forward
'Customize the forward subject, body and recipients'
With objForward
.Subject = "Offer accepted"
.HTMLBody = "<HTML><BODY>Please proceed. </BODY></HTML>" & objForward.HTMLBody
.Recipients.Add ("")
.Recipients.Add ("")
.Recipients.ResolveAll
.Importance = olImportanceHigh
.Send
End With
End If
End If
End Sub
答案1
您可以檢查適用郵件中常見文字的主題。
Private Sub objInboxItems_ItemAdd(ByVal item As Object)
Dim objMail As MailItem
Dim objForward As MailItem
Dim beginStr As String
Dim lenBegin As Long
beginStr = "the common text at beginning of applicable mail"
lenBegin = Len(beginStr)
If TypeOf item Is MailItem Then
Set objMail = item
'New email where the "beginning is the same"
If Left(objMail.Subject, lenBegin) = beginStr Then
Set objForward = objMail.Forward
'Customize the forward subject, body and recipients'
With objForward
.Subject = "Offer accepted"
.HTMLBody = "<HTML><BODY>Please proceed. </BODY></HTML>" & objForward.HTMLBody
'.recipients.Add ("")
'.recipients.Add ("")
.recipients.ResolveAll
.Importance = olImportanceHigh
.Display '.Send
End With
End If
End If
End Sub