Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 30.01.2015
Сообщений: 3
1

Получение вложений в outlook

30.01.2015, 18:39. Просмотров 2740. Ответов 3
Метки нет (Все метки)


Добрый день.

Пытаюсь создать скрипт для вставки в правило с целью получения вложенных файлов в папку на диске.
Visual Basic
1
2
3
4
5
6
7
Sub Save_att(It As MailItem)
Dim NS As Outlook.NameSpace
Set NS = Application.GetNamespace("MAPI")
    MsgBox (It.Attachments.Count)
    MsgBox (NS.Folders.Item(1).Folders.Item(1))
    It.Attachments.Item(1).SaveAsFile ("d:\Òåñò\" & It.Attachments.Item(1).DisplayName)
End Sub
Такой вот код. При применение правила на сообщение, которое уже получено и лежит в папке, вложение на диск сохраняется.
Если же правило запускается автоматически (при приходе сообщения с вложением, MsgBox (It.Attachments.Count) пишет что вложений 0) и сохранять ему нечего, хотя вложения в письмо есть.
Просьба подсказать где ошибка и в каком направление копать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.01.2015, 18:39
Ответы с готовыми решениями:

Обработка вложений Outlook
Всем доброго времени суток! Имеется следующая задача: С определенной периодичностью на...

Outlook. Автоматическое сохранение вложений
Для автоматического сохранения вложений при приеме новых писем у меня поставлен следующий макрос: ...

Сохранение всех вложений текущего сообщения в Outlook
Здравствуйте! Нужно сохранить все вложения текущего письма, т.е. на котором стою. Нашел как...

Макрос для массовой распечатки вложений Outlook
Всем привет, Я когда-то учил Java и PHP, так что могу понять логику несложного скрипта, но тут...

3
1260 / 146 / 32
Регистрация: 11.02.2011
Сообщений: 418
01.02.2015, 04:41 2
А если так?
Visual Basic
1
2
3
4
5
6
7
8
9
Sub Save_att(It As MailItem)
    Dim NS As Outlook.NameSpace
    MsgBox (It.Attachments.Count)
    Set att = It.Attachments
    If att.Count = 0 Then MsgBox "Нет вложений"
    For i = 0 To att.Count
        att(i).SaveAsFile "d:\Тест\" & myeitems(i).DisplayName
    Next
End Sub
0
0 / 0 / 0
Регистрация: 24.11.2010
Сообщений: 19
01.02.2015, 12:57 3
Всё так же. Срабатывание при принудительном вызове правила на уже полученном письме.
Но при получение письма скрипт считает что вложения нет (0), правиложе поставлено на срабатывание если вложение в письмо есть и правило срабатывает стабильно.
Для большей информации outlook 2010, прием через IMAP.
0
0 / 0 / 0
Регистрация: 30.01.2015
Сообщений: 3
05.02.2015, 17:09  [ТС] 4
Заметил еще одну вещь то что если некоторое время макрос постоит в режиме отладки на какой либо точки останова, до проверки счетчика вложений, после приема сообщения (примерно минуту), то потом счетчик вложений показывает правильное количество вложений. (Такое наблюдается именно с IMAP с POP3 всё работает.)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2015, 17:09

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Сортировка вложений из Outlook, заполнение таблицы по информации из писем
На работе такая проблема: Ведется переписка с подрядчиком в огромном объеме. Письма...

Обработка вложений из писем, загружаемых при запуске Outlook 2016
Всем доброго времени суток! У меня есть задача: сортировать вложения по названиям и хранить их в...

Макрос Microsoft Outlook 2010: копирование вложений по имени вложения
Добрий день! Помогите написать макрос для Microsoft Outlook 2010, которий будет копиравать...

Как добавить имена вложений Outlook в Excel с последующим сохранением их в указанной папке
Добрый день всем гуру Excel-я. Благодаря этому форуму мне получилось наладить документооборот в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.