我希望在收件箱中收到来自特定电子邮件地址并附带.xls(某些时候其他)附件的新电子邮件时触发宏。
我想做的是以下是创建一条规则:
当发件人为:"xyz"
时,
1.检查附件中的某个单词,例如:“trade
”,然后将其保存到某个文件夹中。
2.如果附件是:“LossesOfTrades
”还有另一个词:“Losses
”,请保存到另一个文件夹中。
3.格式化所有已保存的文件,使其名称后跟年份-mm-dd 例如:trade20150725.xls。 (请注意,附件中没有日期)
请务必注意,某些文件的附件超过1个。
答案 0 :(得分:0)
Outlook允许创建一个规则,该规则可以触发VBA宏,您可以随意执行任何操作。 VBA子应该如下所示:
Public Sub Test(mail as MailItem)
'
End Sub
mail
对象代表传入消息。
我建议从MSDN中的Getting Started with VBA in Outlook 2010文章开始。
MailItem类的Attachments属性返回一个Attachments对象,该对象表示指定项目的所有附件。
Attachment类的DisplayName属性允许设置表示名称的字符串,该字符串不需要是实际文件名,显示在表示嵌入附件的图标下方。
例如:
Set myAttachments = myItem.Attachments
'Prompt the user for confirmation
Dim strPrompt As String
strPrompt = "Are you sure you want to save the first attachment " & _
"in the current item to the Documents folder? If a file with the " & _
"same name already exists in the destination folder, " & _
"it will be overwritten with this copy of the file."
If MsgBox(strPrompt, vbYesNo + vbQuestion) = vbYes Then
myAttachments.Item(1).SaveAsFile Environ("HOMEPATH") & "\My Documents\" & _
myAttachments.Item(1).DisplayName
End If