2013-03-22 45 views
-1

我們使用共享Outlook郵箱,每天收到1000封電子郵件,是否有任何宏會向我們提供何時回覆的項目以及未回覆的項目的詳細信息。基本上,我們需要跟蹤回覆特定收件箱項目所需的時間。用於共享郵箱的Outlook跟蹤器

回答

4

沒有宏,但你可以自己寫。 Outlook - >工具 - >宏 - > Visual Basic編輯器。

在VBA中,您必須啓動Outlook.MAPIFolder對象並將其掛接到所需的郵箱。

Dim f As MAPIFolder 

Dim olns As Outlook.NameSpace 
Set olns = Outlook.GetNamespace("MAPI") 
Set f = olns.Folders("Mailbox - Name, Name") 
Set f = f.Folders("Inbox") 

如果您檢查郵箱中的子文件夾,你需要這樣做:

Set f = f.Folders("Name of the subfolder") 

然後你需要通過項目進行迭代。

Dim m As MailItem 
Dim i As Long 
i = 1 
Do Until i > f.Items.Count 
    If f.Items(i).Class = olMail Then 
     Set m = f.Items(i) 
    End If 

    ' yada yada 

    i = i + 1 
    DoEvents 
Loop 

如何檢測哪些已被回覆將取決於您使用的是哪個版本的Outlook。對於Outlook 2007,您可以使用Outlook.PropertyAccessor。對於較早的版本,您可以使用像Redemption這樣的第三方加載項,也可以使用諸如比較m.LastModificationTime和m.CreationTime的內容。

例如:

 If m.LastModificationTime - m.CreationTime < 0.1 Then 
      n = n + 1 
      Debug.Print m.subject 
     End If 

的時代將永遠是一個小點點了,所以你不能使用「=」,你必須檢查的差異是否真的很小。

這可能會收到轉發的電子郵件以及回覆的電子郵件;考慮這是否是你想要的。

相關問題