0

We use a shared outlook mailbox, we receive 1000 emails daily, is there any macro which would provide us the details of item replied at what time and those items which were not replied. Basicallly we need to track the time taken to reply a particular inbox item.

4

2 に答える 2

4

マクロはありませんが、独自のマクロを作成できます。Outlook -> ツール -> マクロ -> Visual Basic Editor。

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

時間は常に少しずれるので、「=」は使用できません。その差が本当に小さいかどうかを確認する必要があります。

これにより、転送された電子メールと返信された電子メールが検出される場合があります。これがあなたが望むものかどうかを検討してください。

于 2013-03-24T23:40:54.363 に答える