簡體   English   中英

設置一個 email 已回復 - vba

[英]Set an email has replied - vba

我有宏將 email 與原始附件轉發給原始 email 鏈中涉及的每個人。

    Sub my_test()

Dim objItem As Object

Dim mail As MailItem
Dim forwardMail As MailItem

Dim templateItem As MailItem

For Each objItem In ActiveExplorer.Selection

    If objItem.Class = olMail Then
    
        Set mail = objItem
        Set forwardMail = mail.Forward
        
        Set templateItem = CreateItemFromTemplate("C:\template.oft")
        
        With forwardMail
            .HTMLBody = templateItem.HTMLBody & .HTMLBody
            .To = mail.replyall.To & mail.replyall.CC
            .Display
        End With
        
    End If
    
Next

End Sub

是否可以將此 email 標記為“已回復”而不是“轉發”email?

是的,您只需將Set forwardMail = mail.Forward更改為Set forwardMail = mail.Reply

您還應該將變量forwardMail的名稱更改為replyMail並更改代碼中的所有變量。 完整代碼如下。

Sub my_test()

Dim objItem As Object
Dim mail As MailItem
Dim replyMail As MailItem
Dim templateItem As MailItem

For Each objItem In ActiveExplorer.Selection

If objItem.Class = olMail Then

    Set mail = objItem
    Set replyMail = mail.Reply
    
    Set templateItem = CreateItemFromTemplate("C:\template.oft")
    
    With replyMail
        .HTMLBody = templateItem.HTMLBody & .HTMLBody
        .To = mail.replyall.To & mail.replyall.CC
        .Display
    End With
    
 End If

Next

End Sub

如果您的意思是要將圖標更改為代表“已回復”的圖標,則可以通過以下方式進行更改...

' Set property PR_ICON_INDEX to 261
objItem.PropertyAccessor.SetProperty "http://schemas.microsoft.com/mapi/proptag/0x10800003", 261
objItem.Save

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM