|
Outlook.Application получить вложение письма |
☑ |
0
maxval
05.05.14
✎
11:03
|
Получаю письма через
Outlook.Application
вопрос как получить само вложение?
olFolderInbox = 6;
Попытка
Аутлук = Новый COMОбъект("Outlook.Application");
Исключение
Аутлук = 0;
Предупреждение("Не удалось создать объект Outlook.Application. Outlook установлен на компьютер?");
Возврат Неопределено;
КонецПопытки;
ПространствоИмен = Аутлук.GetNamespace("MAPI");
ПапкаВходящие = ПространствоИмен.GetDefaultFolder(olFolderInbox);
Сообщения = ПапкаВходящие.Items;
Для каждого Сообщение Из Сообщения Цикл
Для каждого Вложение Из Сообщение.Attachments Цикл
ИмяФайла = ""Вложение.FileName;
// ни вопрос как получить двоичные данные?? имя файла есть..
//
|
|
1
Wobland
05.05.14
✎
11:05
|
а почтой не хочется?
|
|
2
Чайник Рассела
05.05.14
✎
11:06
|
посмотри как это в типовой делается
|
|
3
maxval
05.05.14
✎
11:07
|
а почтой - кривые имена длинных файлов.
в которой типовой?
|
|
4
Чайник Рассела
05.05.14
✎
11:08
|
(3) любой обмен в типовой можно настроить через почту, например в УТ 10.3
|
|
5
Чайник Рассела
05.05.14
✎
11:09
|
(3) пардон, не увидиле что через аутлук.
|
|
6
maxval
05.05.14
✎
11:11
|
(5) Вот-вот.. с "Почта" все получается, но там имена файлов обрезаются как досовские имена до 8символов. а через Outlook.Application не пойму как сохранить вложение..
|
|
7
Apokalipsec
05.05.14
✎
11:16
|
(6) Куда сохранить-то?
Новый ДвоичныеДанные(Вложение.FileName); - не срабатывает?
|
|
8
maxval
05.05.14
✎
11:21
|
(7) Именно не срабатывает. "Вложение.FileName" = имя файла самого, а не путь к файлу в файловой системе.
|
|
9
maxval
05.05.14
✎
11:22
|
"Вложение.FileName" = мойФайл.txt
|
|
10
Операция 1Ы
05.05.14
✎
11:31
|
(9) попробуй через Outlook.Application сохранить вложение во временную папку, а оттуда уже забирай файл как двоичные данные.
|
|
11
maxval
05.05.14
✎
11:33
|
(10) Ок и как это сделать?
|
|
12
maxval
05.05.14
✎
11:37
|
Нашел вариант
у вложения есть метод SaveAsFile
ИмяФайла = ""+ВременныйКаталог+Вложение.FileName;
//ЗапуститьПриложение(Вложение.FileName);
Вложение.SaveAsFile(ИмяФайла);
|
|