0

Win 7、Outlook 2013 受信トレイに到着した一部のファイルに対してアクションを実行する VBA コードを使用しています。ただし、このマクロを実行するには、ボタンをクリックして実行する必要があります。

電子メールが到着したときにこのコードを自動的に実行する方法はありますか?

Outlook ルールを使用してスクリプトを実行しようとしましたが、成功しませんでした。

これを試しましたが、これはマクロを実行したときにのみ機能します

Private Sub Application_NewMail()
    Call GetAttachments_From_Inbox (My Macro)
End Sub
4

1 に答える 1

0

ルールとして実行するスクリプトを具体的に使用し、すべてのメッセージに適用します。これにより、受信したメール アイテムに簡単かつ明確にアクセスできます。WithEvents受信トレイに設定されている各メッセージでこれを実行したいので、おそらく最善の策です.

例えば:

次のように、Outlook フォルダーのリスナーを作成できます。

Private WithEvents mainInboxItems As Outlook.Items

Public Sub Application_Startup()

    Dim olApp As Outlook.Application
    Dim objNS As Outlook.NameSpace
    Set olApp = Outlook.Application
    Set objNS = olApp.GetNamespace("MAPI")

    Set mainInboxItems = objNS.Folders("whatever your main mailbox is called").Folders("AssignNumber").Items
    'assumes your "AssignNumber" folder is a subfolder of the main inbox
    'otherwise you can nest Folders("myArchive").Folders("AssignNumber).items etc
End Sub

必要な数のフォルダーに対してもこれを行うことができます。

ItemAdd次に、次のようにメソッドをそれぞれに割り当てることができます。

Private Sub mainInboxItems_ItemAdd(ByVal item As Object)
'do Stuff to mailitem
 Call GetAttachments_From_Inbox (item)
End Sub

このコードはすべて、ThisOutlookSession に入れることができます。

于 2013-09-04T17:18:34.150 に答える