Đánh dấu tự động được chuyển đến thư mục (sử dụng quy tắc) thư chưa đọc trong Outlook 2010 / Gmail


0

Khi sử dụng triển vọng 2010 và Gmail / IMAP bằng cách sử dụng quy tắc để di chuyển thư đến thư mục cũng đánh dấu nó là đã đọc. Có một câu hỏi trước đây về chủ đề này nhưng không có câu trả lời nào phù hợp với tôi. Câu trả lời đầu tiên nói rằng điều đó không nên xảy ra (không chính xác khi sử dụng gmail / IMAP) và câu trả lời thứ hai cung cấp tùy chọn VBA dường như không làm gì cả. Tôi đã thử mã này không có may mắn:

Sub unread(MyItem As MailItem) MyItem.unread = True End Sub

Bất kỳ đề xuất nào khác ngoài việc không sử dụng triển vọng với gmail (mà tôi muốn là một tùy chọn)? Tôi có cần phải chuyển tin nhắn với vba không?

EDIT: Không, đánh dấu là đã đọc không được kiểm tra.


Điều này có vẻ như là một câu hỏi ngớ ngẩn, nhưng là " đánh dấu là đã đọc "Tùy chọn được chọn trong cài đặt quy tắc? Đôi khi Outlook nghĩ rằng bạn muốn nó được đánh dấu là đã đọc khi di chuyển.
CharlieRB

Câu trả lời:


0

Bạn có thể dùng Mục.ItemAdd biến cố

Cách xử lý thư đến trong Microsoft Outlook

Mã đi trong mô-đun ThisOutlookSession tích hợp.

Bạn theo dõi từng thư mục riêng biệt!

Khai báo một đối tượng bộ sưu tập vật phẩm cho mỗi thư mục WithEvents

Khởi tạo mỗi Đối tượng bộ sưu tập các mục trong trình xử lý sự kiện Application_Startup

Thêm một trình xử lý sự kiện ItemAdd cho mỗi Đối tượng thu thập vật phẩm

Option Explicit

' Sample folder directly under the inbox
Private WithEvents SubfolderAItems As Items

' Sample folder directly under SubfolderA 
Private WithEvents SubfolderBItems As Items 

Private Sub Application_Startup()

    Dim objNS As NameSpace
    Set objNS = Application.Session

    ' instantiate objects declared WithEvents
    Set SubfolderAItems = objNS.GetDefaultFolder(olFolderInbox).Folders("SubfolderA").Items
    Set SubfolderBItems = objNS.GetDefaultFolder(olFolderInbox).Folders("SubfolderA").Folders("SubfolderB").Items

    Set objNS = Nothing

End Sub

' Note: Changes behaviour of dragging items into the folder as well.
Private Sub SubfolderAItems_ItemAdd(ByVal Item As Object)
    Item.unread = True
End Sub  

Private Sub SubfolderBItems_ItemAdd(ByVal Item As Object)
    Item.unread = True
End Sub
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.