2010-11-09 29 views
6

Tôi có macro hoạt động rất tốt để đặt vào thư mục/áp dụng cờ/danh mục được đặt, nhưng nó chỉ hoạt động trên mục hiện tại được chọn trong trình khám phá.Làm cách nào để bạn có thể tham chiếu đến mục thư trong cửa sổ đang mở trong Outlook bằng VBA?

Khi tôi nhận được cảnh báo qua email trên máy tính để bàn và nhấp vào nó để mở thư email, tôi muốn có thể chạy cùng một macro đối với mục mở đó, nhưng tôi không thể tìm thấy bất kỳ tài liệu nào về cách truy cập đối tượng đó theo cách tương tự như cách tôi truy cập mục đã chọn trong danh sách trình thám hiểm.

logic lựa chọn hiện tại của tôi trông như thế này:

Dim Item As Object 
Dim SelectedItems As Selection 

Set SelectedItems = Outlook.ActiveExplorer.Selection 
For Each Item In SelectedItems 
    With Item 
     'do stuff 
    End With 
Next Item 

Trả lời

9

Rõ ràng đây là mã để có được những mục mở hiện tại:

If TypeName(Application.ActiveWindow) = "Inspector" Then 
    Set Item = Application.ActiveWindow.CurrentItem 
+0

Xin chào Matt, có ý tưởng nào về cách ** tất cả ** các mục đang mở để xử lý riêng lẻ không? – user3429738

6

tôi đã làm nó như thế này. Khai báo Item như một MailItem thay vì một Object và sau đó bạn nhận được sự trợ giúp từ IntelliSense.

Dim CurrentMessage As MailItem 
Set CurrentMessage = ActiveInspector.CurrentItem 
CurrentMessage.HTMLBody = "[Insert HTML here]" 
+2

Chào mừng bạn đến với StackOverflow! Cảm ơn bạn đã đăng bài đầu tiên tốt :) – andrewdotnich

Các vấn đề liên quan