將項目添加到文件夾中的集合時會觸發事件。例如,假設您的默認收件箱下面有一個名爲「Stuff」的文件夾。此代碼將觸發每一個郵件移動到一個文件夾時間:
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim olApp As Outlook.Application
Set olApp = Outlook.Application
Set Items = GetNS(olApp).GetDefaultFolder(olFolderInbox).Folders("Stuff").Items
End Sub
Private Sub Items_ItemAdd(ByVal item As Object)
On Error GoTo ErrorHandler
MsgBox "You moved an item into the 'Stuff' folder."
ProgramExit:
Exit Sub
ErrorHandler:
MsgBox Err.Number & " - " & Err.Description
Resume ProgramExit
End Sub
Function GetNS(ByRef app As Outlook.Application) As Outlook.NameSpace
Set GetNS = app.GetNamespace("MAPI")
End Function
粘貼到這個ThisOutlookSession並重新啓動Outlook。每當電子郵件被移動到該文件夾時,您將看到彈出窗口。
是啊,嗯,你使用的物品,但我有4個郵箱(有些是共享箱),我有一個數百萬個文件夾(如果你知道是活鏈接框)。問題似乎是項目列表,或者我可以在選擇文件夾時設置列表,我想我的第一個問題不夠準確 – forX
沒有真正的「項目移動」事件(我很想聽否則),你必須通過檢查ItemAdd事件來回到它。如果它激發,則將項目添加到引用文件夾的項目集合中。我們簡單地假設(因爲它不是收件箱)該項目被移動。 – JimmyPena