Имя: Пароль:
1C
1С v8
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(ИмяФайла);