如何重命名接收日期并将其添加到使用VBA从Outlook下载的附件中?

问题描述 投票:0回答:1

我当前的VBA脚本会自动将附件从我选择的电子邮件中下载到本地驱动器。我现在想重命名附件文件名,并在下载中包含日期。日期应该是收到电子邮件之前的日期。请在下面输入我的代码。

    Public Sub SaveAutoAttach(item As Outlook.MailItem)

Dim object_attachment As Outlook.Attachment

Dim saveFolder As String
' Folder location when I want to save my file
saveFolder = "\\gbhxxxx\Groups\Shared\EBS\Post Go-Live\Auto MT940 download Test"


    For Each object_attachment In item.Attachments
' Criteria to save .940 files only

    If InStr(object_attachment.DisplayName, "UKAutoMT940") Then

  object_attachment.SaveAsFile saveFolder & "\" & object_attachment.DisplayName
    End If

    Next

End Sub

非常感谢

vba outlook attachment mt940
1个回答
0
投票

以下更新了您的代码,以在显示文件名之前附加日期。为此,我们使用DATEADD并在接收到的日期上添加-1天,然后将日期时间值格式化为使用“-”而不是“ /”的日期值。

如果要在文件名之后但在扩展名之前添加它,我们将需要解析为文件名。

Public Sub SaveAutoAttach(item As Outlook.MailItem)

Dim object_attachment As Outlook.Attachment

Dim saveFolder As String
' Folder location when I want to save my file
saveFolder = "\\gbhxxxx\Groups\Shared\EBS\Post Go-Live\Auto MT940 download Test"


    For Each object_attachment In item.Attachments
' Criteria to save .940 files only

    If InStr(object_attachment.DisplayName, "UKAutoMT940") Then

       object_attachment.SaveAsFile saveFolder & "\" & Format(DateAdd("d", -1, item.ReceivedTime), "dd-mm-yyyy") & "_" & object_attachment.DisplayName
    End If

    Next

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.