Новости:

Форум на данный момент в стадии обновления. Если у Вас возникли проблемы со входом в свою учетную запись - просьба писать на email: info@excel-vba.ru

Главное меню

Сохранение вложений с разбиением по папкам.

Автор erichard, 15.04.2020, 12:12:23

« назад - далее »

erichard

Здравствуйте, стоит задача сделать так чтобы из писем, от определенных получателей по правилу, вложения автоматически сохранялись в определенную папку.
Есть такой код, в компиляторе ошибок не выдает. По факту не отрабатывает и выдает ошибку.


Public Sub saveAtt(itm As Outlook.MailItem)

Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim sDateMail As String
Dim Sender As Outlook.AddressEntry

sDateMail = Format(itm.CreationTime, "dd.mm")

If Sender = "somemail@gmail.com" Then

saveFolder = "C:\Users\user\Documents\somefolder1"

End If

If Sender = "somemail@yandex.ru" Then

saveFolder = "C:\Users\user\Documents\somefolder2"

End If

For Each objAtt In itm.Attachments

objAtt.SaveAsFile saveFolder & "\" & sDateMail & "-" & objAtt.FileName

Set objAtt = Nothing
Next objAtt

End Sub

Ткните пожалуйста пальцем где я что-то делаю не так. При получении письма вылетает дебаггер и показывает желтой стрелочкой на строку If Sender = "somemail@gmail.com" Then

Дмитрий Щербаков(The_Prist)

А кто такое Sender? Откуда берется значение для него? По коду не нашел. А значит значение его Nothing, а Nothing нельзя сравнивать с текстом.
Если правильно понял, то эта переменная вообще не нужна, т.к. можно заменить таким:
itm.Sender.Address
следовательно:
If itm.Sender.Address = "somemail@gmail.com" Then
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

erichard


Яндекс.Метрика Рейтинг@Mail.ru