Vba 将附件保存在outlook中的其他文件夹中

Vba 将附件保存在outlook中的其他文件夹中,vba,outlook,outlook-2003,Vba,Outlook,Outlook 2003,我在internet上找到了这段代码,您可以在其中自动将附件保存到某个文件夹中: Public Sub saveAttachtoDisk(itm As Outlook.MailItem) Dim objAtt As Outlook.Attachment Dim saveFolder As String saveFolder = "C:\Temp" For Each objAtt In itm.Attachments objAtt.SaveAsFile saveFol

我在internet上找到了这段代码,您可以在其中自动将附件保存到某个文件夹中:

   Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "C:\Temp"
    For Each objAtt In itm.Attachments
        objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
        Set objAtt = Nothing
    Next
End Sub
有没有办法将附件保存到不同的文件夹中


谢谢

您的示例代码将目标文件夹硬编码到
saveAttachtoDisk
子文件夹中。您可以通过参数将此信息传递到此子文件夹中(其变体):

Public Sub saveAttachtoDisk(itm As Outlook.MailItem, saveFolder As String)
  Dim objAtt As Outlook.Attachment
  For Each objAtt In itm.Attachments
      objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
      Set objAtt = Nothing
  Next
End Sub
这样称呼它:

Dim saveFolder As String
saveFolder = "C:\Some\Where\Else"
saveAttachtoDisk itm, saveFolder
...
saveAttachtoDisk otheritm, "d:\why\not\here"

当然,现在的问题是:如何确定这些“其他文件夹”?通过用户交互?通过应用于某些Outlook/User/Main/System属性的函数?

是否注意到这一行:saveFolder=“C:\Temp”?要将“特定文件夹”保存到其他文件夹,请将此文件夹名称更改为VBA而不是VBScript。在VBScript中,所有变量都是variant类型,因此您不能将
itm设置为Outlook.MailItem