Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Пересылка файлов Эксель из аутлука в папку на локальном комп - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Пересылка файлов Эксель из аутлука в папку на локальном комп (Макросы/Sub)
Пересылка файлов Эксель из аутлука в папку на локальном комп
doober Дата: Четверг, 02.04.2020, 21:16 | Сообщение № 21
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
от отправителя c адресом info@test.ru и падают в аутлуке в папку под номером 11
Меня эта запись смущает.У Вас случайно не 2 правила на одно и то же условие?


 
Ответить
Сообщение
от отправителя c адресом info@test.ru и падают в аутлуке в папку под номером 11
Меня эта запись смущает.У Вас случайно не 2 правила на одно и то же условие?

Автор - doober
Дата добавления - 02.04.2020 в 21:16
t330 Дата: Четверг, 02.04.2020, 22:44 | Сообщение № 22
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 147
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Меня эта запись смущает.У Вас случайно не 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
Дата добавления - 02.04.2020 в 22:44
doober Дата: Четверг, 02.04.2020, 23:41 | Сообщение № 23
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Правильно, это правило срабатывает первым.
Втрое, на которое настроено выполнение скрипта уже не сработает.


 
Ответить
СообщениеПравильно, это правило срабатывает первым.
Втрое, на которое настроено выполнение скрипта уже не сработает.

Автор - doober
Дата добавления - 02.04.2020 в 23:41
t330 Дата: Пятница, 03.04.2020, 00:28 | Сообщение № 24
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 147
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Правильно, это правило срабатывает первым.
Втрое, на которое настроено выполнение скрипта уже не сработает.


Теперь понятно!

Пока сделал как вот тут предложили https://www.planetaexcel.ru/forum....1048227
При приходе нового письма обработчик событий запускает макрос и вытягивает аттачи у всех непрочтенных писем , а после обработки помечает письма статусом "прочтенное", чтобы в следующий раз его не обрабатывать...

Спасибо. за помощь!
 
Ответить
Сообщение
Правильно, это правило срабатывает первым.
Втрое, на которое настроено выполнение скрипта уже не сработает.


Теперь понятно!

Пока сделал как вот тут предложили https://www.planetaexcel.ru/forum....1048227
При приходе нового письма обработчик событий запускает макрос и вытягивает аттачи у всех непрочтенных писем , а после обработки помечает письма статусом "прочтенное", чтобы в следующий раз его не обрабатывать...

Спасибо. за помощь!

Автор - t330
Дата добавления - 03.04.2020 в 00:28
t330 Дата: Пятница, 03.04.2020, 22:15 | Сообщение № 25
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 147
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Еще один более простой вариант через создание Правила со скриптом в аутлуке.

( начиная с 10го офиса в реестре надо внести вот такие изменения , чтобы создание правил со скриптом в аутлуке стало возможным https://www.slipstick.com/outlook/rules/outlook-run-a-script-rules/ )

[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

[/vba]
 
Ответить
СообщениеЕще один более простой вариант через создание Правила со скриптом в аутлуке.

( начиная с 10го офиса в реестре надо внести вот такие изменения , чтобы создание правил со скриптом в аутлуке стало возможным https://www.slipstick.com/outlook/rules/outlook-run-a-script-rules/ )

[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

[/vba]

Автор - t330
Дата добавления - 03.04.2020 в 22:15
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Пересылка файлов Эксель из аутлука в папку на локальном комп (Макросы/Sub)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!