【问题标题】:Auto download attachment from mail with particular subject in a shared Outlook mailbox从共享 Outlook 邮箱中具有特定主题的邮件中自动下载附件
【发布时间】:2020-07-13 13:02:15
【问题描述】:

这是从我的收件箱中下载具有特定主题的邮件附件的代码。

我为代码运行创建了一个规则。

如何调整脚本以访问邮箱中的共享文件夹?

Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem)

Dim oAttachment As Outlook.Attachment

Dim sSaveFolder As String

sSaveFolder = "C:\Users\DT168\Documents\outlook-attachments\"

For Each oAttachment In MItem.Attachments
    oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
Next

End Sub

【问题讨论】:

  • 您要在现有反斜杠之后直接附加一个反斜杠?
  • 以上代码运行良好,正在从收件箱下载。我的要求是从共享的 Outlook 邮箱下载附件。
  • 您是否尝试过按照@braX 的建议删除其中一个反斜杠?或许像这样saveFolder = "N:\UAE\Dubai\Xfer\Libin\Log"
  • 嗨,亲爱的,你能理解我的问题吗?
  • @Libin 双反斜杠不是致命的,并且经常出现在这段代码中。如您所见,这是一种让您感到沮丧的分心。

标签: vba outlook


【解决方案1】:

使用NameSpace.GetSharedDefaultFolder 方法返回一个Folder 对象,该对象代表指定用户的指定默认文件夹。例如:

Sub ResolveName() 
 Dim myNamespace As Outlook.NameSpace 
 Dim myRecipient As Outlook.Recipient 
 Dim CalendarFolder As Outlook.Folder 
 
 Set myNamespace = Application.GetNamespace("MAPI") 
 Set myRecipient = myNamespace.CreateRecipient("Eugene Astafiev") 
 
 myRecipient.Resolve 
 If myRecipient.Resolved Then 
  Call ShowCalendar(myNamespace, myRecipient) 
 End If 
End Sub 
 
Sub ShowCalendar(myNamespace, myRecipient)  
 Dim CalendarFolder As Outlook.Folder 
 Set CalendarFolder = myNamespace.GetSharedDefaultFolder(myRecipient, olFolderCalendar)  
 CalendarFolder.Display  
End Sub

【讨论】:

  • 共享 Outlook 邮箱中的附加文件应下载到磁盘驱动器中的特定本地文件夹,而不是 Outlook 文件夹中。下载过程基于特定的主题名称。感谢您的回复。
猜你喜欢
  • 2018-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-24
  • 1970-01-01
  • 2019-12-13
  • 1970-01-01
相关资源
最近更新 更多