Я загрузил Outlook.MailItem в свою папку Y:\
по адресу:
Y:\email.msg
В Outlook VBA я хочу протестировать скрипт для этого элемента.Однако я не уверен, как его определить.
У меня есть следующее:
Dim testMail As MailItem
Set testMail = Application.CreateItem(olMailItem)
Но как мне сделать ссылку на точный элемент, который я сохранил?
После этого я хочу проверить хранение вложения в этом файле с помощью кода (который иногда не всегда создает поврежденный файл):
Public Sub Save_File(MItem As Outlook.MailItem)
On Error Resume Next
' init
Dim oAttachment As Outlook.Attachment
Dim folderSave As String
Dim yyyymmdd As String
Dim fileName As String
Dim fileNameFull As String
' date @T (midnight 00:00)
Dim mydate As Date
mydate = MItem.ReceivedTime
' filename and path
yyyymmdd = get_yyyymmdd_prevday(mydate)
folderSave = "V:\Operations\"
fileName = yyyymmdd & "-FileToStore.csv"
fileNameFull = folderSave & fileName
For Each oAttachment In MItem.Attachments
If fileExist(fileNameFull) = False Then
' if file does not exist
oAttachment.SaveAsFile fileNameFull
End If
Next
End Sub
И функция справки:
Public Function get_yyyymmdd_prevday(mydate As Date) As String
Dim yyyymmddstr As String
'Previous Business Date
Dim yyyy As String
Dim mm As String
Dim dd As String
If Weekday(mydate) = 2 Then
mydate = mydate - 3
Else
mydate = mydate - 1
End If
yyyy = Year(mydate)
mm = Month(mydate)
dd = Day(mydate)
If Month(mydate) < 10 Then
mm = "0" & mm
End If
If Day(mydate) < 10 Then
dd = "0" & dd
End If
' -->
yyyymmddstr = yyyy & "_" & mm & "_" & dd
get_yyyymmdd_prevday = yyyymmddstr
End Function