Страницы: 1
RSS
Outlook - условие автоматического сохранения вложений по условиям
 
Всем доброго дня!
прошу помощи, т.к в VBA нуль..

написала условия обработки писем и  сохранения вложений.
поскольку много мусора приходит, то сохраняются картинки из подписи и тд.
описывать названия файлов типа
Код
If InStr(objAtt.FileName, "XXX") Then 
вариант, но не для всех.

Как описать "если вложение содержит формат ....xls* или .pdf или .doc или .cvs или .zip то..?
сам код:
Код
Public Sub saveAttachtoDisk(myItem As Outlook.MailItem)

Dim objAtt As Outlook.Attachment
Dim saveFolder(1 To 4)
    saveFolder1 = "с:\int\1\" 'email hotmail.com
    saveFolder2 = "с:\int\2\" 'email gmail.com
    saveFolder3 = "с:\int\3\" 'мусор от разрешенных email
    saveFolder4 = "с:\int\4\" 'вложение от неразрешенных email
    saveFolder5 = "с:\int\5\" 'мусорные вложения


Dim dateFormat
    dateFormat = Format(Now, "yyyy-mm-dd")
    
    For Each objAtt In myItem.Attachments
    If  Then 'тут полный пробел нужно типа If .... вложение содержит формат .xls* или .pdf или .doc или .cvs или .zip
          If InStr(myItem.SenderEmailAddress, "hotmail.com") Then
                If  Then 'тут опять пробел нужно типа If .... вложение содержит формат .xls* или .pdf или .doc или .cvs или .zip
                objAtt.SaveAsFile saveFolder1 & "\" & objAtt.FileName
                Else 'типа всяких картинок и прочего
                objAtt.SaveAsFile saveFolder3 & "\" & objAtt.FileName
            End If
          ElseIf InStr(myItem.SenderEmailAddress, "gmail.com") Then
                If  Then 'тут снова пробел нужно типа If .... вложение содержит формат .xls* или .pdf или .doc или .cvs или .zip
                objAtt.SaveAsFile saveFolder2 & "\" & objAtt.FileName
                Else
                objAtt.SaveAsFile saveFolder3 & "\" & objAtt.FileName
                End If
          Else
                objAtt.SaveAsFile saveFolder4 & "\" & objAtt.FileName 'сюда должны попадать все файлы, по которым не расписаны правила по email, но которые содержат разрешенные форматы файлов .xls* или .pdf или .doc или .cvs или .zip
          End If
   Else
    objAtt.SaveAsFile saveFolder5 & "\" & objAtt.FileName 'OK 'сюда должны попадать все остальные файлы, которые не содержат разрешенные форматы файлов .xls* или .pdf или .doc или .cvs или .zip
    End If
                
     Set objAtt = Nothing
     Next
Изменено: Wendflower - 20.06.2019 15:45:18
 
Цитата
полный пробел
Бывают и не полные?
Так
Код
    Set RegExp = CreateObject("VBScript.RegExp")
    RegExp.IgnoreCase = True
    RegExp.Pattern = "\.(xls.?|pdf|doc|cvs|zip)"

     If  Then 'тут полный пробел нужно типа If .... вложение содержит формат .xls* или .pdf или .doc или .cvs или .zip
       
    If RegExp.test(objAtt.Filename) Then ' вложение содержит формат .xls* или .pdf или .doc или .cvs или .zip
 
doober, спасибо!
Страницы: 1
Наверх