Макрос VBA для Outlook 2016 в Windows 10 - PullRequest
0 голосов
/ 20 марта 2019

Я новичок в макросах. Я написал макрос для Outlook 2016 в Windows 10, который сохраняет несколько электронных писем в моей папке Excel (т.е. E:\SUMMARYS) и с расширением .msg, но вместо сохранения имени файла как «дата и время» мне нужно сохранить его как ссылочный номер счета-фактуры, который находится в теле каждого электронного письма (т. е. ref: 700PG243).

Я получаю много электронных писем со счетами каждый день с разными ссылочными номерами счетов, и они находятся только в основной части писем. После сохранения электронные письма должны быть автоматически помечены как прочитанные и перемещены в подпапку моего Outlook под названием Счета 2019 .

Sub SaveSelectedMessages()
    Dim olItem As Outlook.MailItem
    Dim fName As String
    Dim fPath As String
    fPath = "E:\SUMMARYS\"
    For Each olItem In ActiveExplorer.Selection
        fName = Format(olItem.ReceivedTime, "yyyymmdd") & Chr(32) & _
        Format(olItem.ReceivedTime, "HH.MM") & Chr(32) & _
        olItem.SenderName & " - " & olItem.Subject & ".msg"
        fName = Replace(fName, Chr(58) & Chr(41), "")
        fName = Replace(fName, Chr(58) & Chr(40), "")
        fName = Replace(fName, Chr(34), "-")
        fName = Replace(fName, Chr(42), "-")
        fName = Replace(fName, Chr(47), "-")
        fName = Replace(fName, Chr(58), "-")
        fName = Replace(fName, Chr(60), "-")
        fName = Replace(fName, Chr(62), "-")
        fName = Replace(fName, Chr(63), "-")
        fName = Replace(fName, Chr(124), "-")
        olItem.SaveAs fPath & fName
    Next olItem
    Set olItem = Nothing
End Sub
...