我需要根據發送給哪個電子郵件(而不是發件人)自動保存附件。Outlook 2013代碼根據發送到的電子郵件來保存附件
我在郵件服務器pdf @,xml @,txt @上有3封電子郵件。如果電子郵件發送到@pdf,我需要將它保存在網絡驅動器上,其他電子郵件也一樣,但不同的位置。
我見過的所有其他代碼只考慮了發件人沒有發送到的地址。
我需要根據發送給哪個電子郵件(而不是發件人)自動保存附件。Outlook 2013代碼根據發送到的電子郵件來保存附件
我在郵件服務器pdf @,xml @,txt @上有3封電子郵件。如果電子郵件發送到@pdf,我需要將它保存在網絡驅動器上,其他電子郵件也一樣,但不同的位置。
我見過的所有其他代碼只考慮了發件人沒有發送到的地址。
在Outlook中創建了3個列表和一個規則。
當電子郵件發送到(添加所有後期列表)並且有附件 運行此腳本。 PS。您必須編輯所有路徑,文件夾名稱和postlistnames。
Sub SaveAllAttachments(objitem As MailItem)
Dim objAttachments As Outlook.Attachments
Dim strName, strLocation As String
Dim dblCount, dblLoop As Double
Dim strSub As String
Dim iRcpCount, iRcp As Integer
strLocation = "O:\PDF\"
On Error GoTo ExitSub
If objitem.Class = olMail Then
Set objAttachments = objitem.Attachments
dblCount = objAttachments.Count
If dblCount <= 0 Then
GoTo 100
End If
strSub = ""
iRcpCount = objitem.Recipients.Count
For iRcp = 1 To iRcpCount
If objitem.Recipients(iRcp).Name = "Postlist1" Then
strSub = "Folder1onOdrive"
ElseIf objitem.Recipients(iRcp).Name = "Postlist2" Then
strSub = "Folder2onOdrive"
ElseIf objitem.Recipients(iRcp).Name = "Postlist3" Then
strSub = "Folder3onOdrive"
End If
Next iRcp
For dblLoop = 1 To dblCount
strName = objAttachments.Item(dblLoop).FileName
'strName = strLocation & strName
strName = strLocation & strSub & strName
'strName = strLocation & strName
objAttachments.Item(dblLoop).SaveAsFile strName
Next dblLoop
objitem.Delete
End If
100
ExitSub:
Set objAttachments = Nothing
Set objOutlook = Nothing
End Sub
您可以處理應用程序類的ItemSend事件,您可以在其中檢出收件人地址(或收件人收藏夾)並在需要時保存附件。例如:
Public WithEvents myOlApp As Outlook.Application
Public Sub Initialize_handler()
Set myOlApp = Outlook.Application
End Sub
Private Sub myOlApp_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim prompt As String
prompt = "Are you sure you want to send " & Item.Subject & "?"
If MsgBox(prompt, vbYesNo + vbQuestion, "Sample") = vbNo Then
Cancel = True
End If
End Sub
的ItemSend事件通過督察發射每當微軟Outlook項目被髮送,或者由用戶(檢查員關閉之前,但用戶後,點擊發送按鈕),或者發送Outlook項目的方法(如MailItem)在程序中使用。
您可能會發現Getting Started with VBA in Outlook 2010文章有幫助。