Меня эта запись смущает.У Вас случайно не 2 правила на одно и то же условие?
У меня есть одно настроенное стандартным средством аутлук правило , что письма от info@test.ru падают в папку под номером 11 (на самом деле эта папка называется test, но её номер в аутлуке 11 ... Номер определил вот этим макросом сделанным The Priest [vba]
Код
Sub НомерПапкиУчетки()
Dim x, xx Dim oNspace As Outlook.NameSpace Set oNspace = Application.GetNamespace("MAPI") For x = 1 To oNspace.Folders.Count Debug.Print oNspace.Folders(x).Name & " ==> " & x For xx = 1 To oNspace.Folders(x).Folders.Count Debug.Print vbTab & oNspace.Folders(x).Folders(xx).Name & " ==> " & xx Next Debug.Print "============== " Next End Sub
[/vba]
).
А макросом я потом из этой папки номер 11 вытягиваю вложения...
Меня эта запись смущает.У Вас случайно не 2 правила на одно и то же условие?
У меня есть одно настроенное стандартным средством аутлук правило , что письма от info@test.ru падают в папку под номером 11 (на самом деле эта папка называется test, но её номер в аутлуке 11 ... Номер определил вот этим макросом сделанным The Priest [vba]
Код
Sub НомерПапкиУчетки()
Dim x, xx Dim oNspace As Outlook.NameSpace Set oNspace = Application.GetNamespace("MAPI") For x = 1 To oNspace.Folders.Count Debug.Print oNspace.Folders(x).Name & " ==> " & x For xx = 1 To oNspace.Folders(x).Folders.Count Debug.Print vbTab & oNspace.Folders(x).Folders(xx).Name & " ==> " & xx Next Debug.Print "============== " Next End Sub
[/vba]
).
А макросом я потом из этой папки номер 11 вытягиваю вложения...t330
Правильно, это правило срабатывает первым. Втрое, на которое настроено выполнение скрипта уже не сработает.
Теперь понятно!
Пока сделал как вот тут предложили https://www.planetaexcel.ru/forum....1048227 При приходе нового письма обработчик событий запускает макрос и вытягивает аттачи у всех непрочтенных писем , а после обработки помечает письма статусом "прочтенное", чтобы в следующий раз его не обрабатывать...
Правильно, это правило срабатывает первым. Втрое, на которое настроено выполнение скрипта уже не сработает.
Теперь понятно!
Пока сделал как вот тут предложили https://www.planetaexcel.ru/forum....1048227 При приходе нового письма обработчик событий запускает макрос и вытягивает аттачи у всех непрочтенных писем , а после обработки помечает письма статусом "прочтенное", чтобы в следующий раз его не обрабатывать...
Public Sub ruleAttachtoDisk(itm As Outlook.MailItem) Dim objAtt As Outlook.Attachment Dim saveFolder As String Dim dateFormat
saveFolder = "C:\Test\" 'dateFormat = Format(Now, "yyyy-mm-dd H-mm") 'если нужно сделать так, чтобы все приходящие файлы записывалось с разными именами
' проверяем есть ли на компе папка saveFolder , если её нет,то создаем If Dir(saveFolder, vbDirectory) = "" Then MkDir saveFolder End If
For Each objAtt In itm.Attachments If objAtt.fileName Like "*.xl*" Then ' если вложение Экселевский файл , то записываем его в папку saveFolder 'objAtt.SaveAsFile saveFolder & dateFormat & objAtt.fileName 'если нужно сделать так, чтобы все приходящие файлы записывалось с разными именами objAtt.SaveAsFile saveFolder & objAtt.fileName End If Next Set objAtt = Nothing End Sub
[/vba]
Еще один более простой вариант через создание Правила со скриптом в аутлуке.
Public Sub ruleAttachtoDisk(itm As Outlook.MailItem) Dim objAtt As Outlook.Attachment Dim saveFolder As String Dim dateFormat
saveFolder = "C:\Test\" 'dateFormat = Format(Now, "yyyy-mm-dd H-mm") 'если нужно сделать так, чтобы все приходящие файлы записывалось с разными именами
' проверяем есть ли на компе папка saveFolder , если её нет,то создаем If Dir(saveFolder, vbDirectory) = "" Then MkDir saveFolder End If
For Each objAtt In itm.Attachments If objAtt.fileName Like "*.xl*" Then ' если вложение Экселевский файл , то записываем его в папку saveFolder 'objAtt.SaveAsFile saveFolder & dateFormat & objAtt.fileName 'если нужно сделать так, чтобы все приходящие файлы записывалось с разными именами objAtt.SaveAsFile saveFolder & objAtt.fileName End If Next Set objAtt = Nothing End Sub