我制作了以下腳本來重命名傳入的郵件作為 Outlook 中的規則:
Sub RenameMails(MyMail As MailItem)
Dim strID As String
Dim objMail As Outlook.MailItem
strID = MyMail.EntryID
Set objMail = Application.Session.GetItemFromID(strID)
If Left(objMail.Subject, 4) = "FW: " Then
objMail.Subject = Right(objMail.Subject, Len(objMail.Subject) - 4)
objMail.Subject = "Test: " & objMail.Subject
objMail.Save
End If
Set objMail = Nothing
End Sub
這適用于常規傳入郵件,但如果郵件是團隊會議的邀請,則不會更改主題。我懷疑這是因為也不可能在 Outlook 中重命名郵件本身,但可以在日歷中重命名約會。
我如何從這里重命名與此郵件關聯的約會?
uj5u.com熱心網友回復:
邀請不是郵件。
Option Explicit
Sub RenameIncomingItems(myObj As Object)
Debug.Print
Debug.Print TypeName(myObj)
If Left(myObj.subject, 4) = "FW: " Then
myObj.subject = Right(myObj.subject, Len(myObj.subject) - 4)
myObj.subject = "Test: " & myObj.subject
myObj.Save
Debug.Print " Subject saved: " & myObj.subject
Else
Debug.Print " FW: not found"
End If
End Sub
Private Sub test()
RenameIncomingItems ActiveInspector.CurrentItem
End Sub
uj5u.com熱心網友回復:
我讓它像這樣作業:
Sub RenameMails(objMail As Object)
Dim myAppt As Outlook.AppointmentItem
If (Left(objMail.Subject, 4) = "FW: ") Then
objMail.Subject = Right(objMail.Subject, Len(objMail.Subject) - 4)
objMail.Subject = "Test: " & objMail.Subject
objMail.Save
End If
If (objMail.Class = olMeetingRequest) Then
Set myAppt = objMail.GetAssociatedAppointment(True)
If (Left(myAppt.Subject, 4) = "FW: ") Then
myAppt.Subject = Right(myAppt.Subject, Len(myAppt.Subject) - 4)
myAppt.Subject = "Test: " & myAppt.Subject
myAppt.Save
End If
End If
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/366819.html
