Сохранение вложения в Outlook в другой папке

Я нашел этот код в Интернете, где вы можете автоматически сохранять вложение в определенной папке:

   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

Есть ли способ сохранить вложение в другой папке?

Спасибо


person user1782426    schedule 11.01.2013    source источник
comment
Вы заметили эту строку: saveFolder = C: \ Temp? Для сохранения из определенной папки в другую, измените имя этой папки.   -  person stamhaney    schedule 11.01.2013
comment
Это VBA, а не VBScript. В VBScript все переменные имеют вариант типа, поэтому у вас не может быть itm As Outlook.MailItem.   -  person Fionnuala    schedule 11.01.2013


Ответы (1)


Ваш пример кода жестко кодирует папку назначения в saveAttachtoDisk sub. Вы можете передать эту информацию с помощью параметра в (вариант) эту подпрограмму:

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?

person Ekkehard.Horner    schedule 11.01.2013