#vba #outlook
#vba #outlook
Вопрос:
Справочная информация: Я получаю несколько ежедневных отчетов о контроле инфекций в формате pdf из нашей электронной системы медицинских записей через вложения электронной почты Outlook.
Запрос: Учитывая большое количество отчетов, я пытаюсь найти способ автоматического сохранения вложений с использованием правила Outlook. В настоящее время код, который я использую, работает только для сохранения вложения с соответствующей датой получения. Однако эти медицинские отчеты в основном отражают данные за предыдущий день. Поэтому мне было интересно, как бы мне отформатировать этот код так, чтобы дата получения вложения электронной почты была меньше (минус) 1 дня, и автоматически сохранить его в указанном месте?
Вот что у меня есть на данный момент:
Sub Save_DailyFluReport(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim dateFormat As String
Dim saveFolder As String
dateFormat = Format(itm.ReceivedTime, "dd-mmmm-yyyy")
saveFolder = "Z:Infection ControlIP Daily Surveillance Reports"
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder amp; "" amp; dateFormat amp; " - " amp; objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub
Ответ №1:
Я понял это! Надеюсь, это решение поможет кому-нибудь еще в будущем.
Sub Save_DailyFluReport(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim dateFormat As String
Dim saveFolder As String
dateFormat = Format(DateSerial(Year(itm.ReceivedTime), Month(itm.ReceivedTime), Day(itm.ReceivedTime) - 1), "dd-mmmm-yyyy")
saveFolder = "Z:Infection ControlIP Daily Surveillance Reports"
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder amp; "" amp; dateFormat amp; " - Daily Flu Report.pdf"
Set objAtt = Nothing
Next
End Sub