|
Outlook.Application | ☑ | ||
---|---|---|---|---|
0
A-tomic
21.10.11
✎
13:17
|
Подменили код в процедуре отправки электронных писем на следующий:
Outlook = Новый COMОбъект("Outlook.Application"); Письмо = Outlook.CreateItem(0); Письмо.To = Адрес; Письмо.Subject = Тема; Письмо.Body = Текст; Письмо.Attachments.Add(Вложение); Письмо.Display(); Бухгалтера теперь шлют оборотки и акты сами и очень довольны. Вопрос: как получить доступ к объекту Письмо (объект новый, в папке "Черновики" его еще нет) не держа его в глобальных переменных, параметрах сеанса и т. п.? |
|||
1
izekia
21.10.11
✎
13:21
|
(21) никак, если физически его нет нигде
|
|||
2
A-tomic
21.10.11
✎
13:29
|
В оперативке есть, отладчик его видит, значит до него както можно добраться.
|
|||
3
A-tomic
21.10.11
✎
13:32
|
В Экселе же можно работать с новой книгой (ActiveWorkbook)
|
|||
4
SerMaxim
21.10.11
✎
13:42
|
Интересная тема. Может у письма есть события как у документа ворд и их можно перехватывать?
|
|||
5
A-tomic
21.10.11
✎
13:44
|
События скоее всего есть. Но какие ловить события, если окно письма спокойно лежит в панели задач в свернутом виде?
|
|||
6
izekia
21.10.11
✎
13:50
|
если объект не сохранен, то его нет, ты не можешь его никак получить, кроме как присвоением той ссылки которая ссылается на созданный объект
|
|||
7
Nutsiiam
21.10.11
✎
13:51
|
а что хочет автор то в итоге? какая задача стоит - отобразил письмо. Дальше что привело к умозаключении о сохранении ссылки на письмо?
|
|||
8
smaharbA
21.10.11
✎
13:51
|
ПолучитьCOMОбъект
|
|||
9
izekia
21.10.11
✎
13:54
|
(8) а если он неактивен?
|
|||
10
A-tomic
21.10.11
✎
13:54
|
Ну тогда проверьте: сначала запустите Excel, создайте новую книгу, и, не сохраняя выполните такой код:
Excel = Новый COMОбъект("Excel.Application"); Книга = Excel.ActiveWorkbook; Лист = Книга.ActiveSheet; В результате можем работать с текущим листом новой книги. |
|||
11
smaharbA
21.10.11
✎
13:55
|
(9) как он не активен если он запущен ?
|
|||
12
smaharbA
21.10.11
✎
13:55
|
(10) совсем не обязательно - можно создать несколько экземляров ком
|
|||
13
izekia
21.10.11
✎
13:55
|
(11) ты можешь 10 писем создать, получишь ты только какое-то одно
|
|||
14
A-tomic
21.10.11
✎
13:56
|
Я хочу при отправке из 1С спросить пользователя: прикрепить вложение к открытому письму или создать новое.
|
|||
15
izekia
21.10.11
✎
13:56
|
(10) и что? эксель и аутлук вообще разные люди писали
|
|||
16
izekia
21.10.11
✎
13:57
|
(14) тогда (8)
|
|||
17
A-tomic
21.10.11
✎
13:59
|
(16) Да, но не знаю как?
|
|||
18
izekia
21.10.11
✎
13:59
|
(17) // Получение активного объекта
Таб = ПолучитьCOMОбъект( , "Excel.Application"); |
|||
19
A-tomic
21.10.11
✎
14:03
|
(18) Так невозможно получить COMОбъект письма, получим то же что и при Новый COMОбъект("Excel.Application")
|
|||
20
smaharbA
21.10.11
✎
14:18
|
(13) да хоть все не сохраненные
Инспекторы = Оутлук.Inspectors; Для Сч = 1 По Инспекторы.Count Цикл Тема = Инспекторы.Item(Сч).CurrentItem; Сообщить(Тема.To); КонецЦикла; как обойти безопасность сами разбирайтесь, есть 3 способа, один от производителя оутлука, второй подменой обращения "в памяти" третий самим оутлуком - абсолютно штатно |
|||
21
Кокос
21.10.11
✎
14:20
|
помечу. ато юзаю Redemption. так тоже попробую
|
|||
22
smaharbA
21.10.11
✎
14:20
|
+ как отличить сохраненную тему от созданной сами найдете
и как отобрать тип открытых тем думаю тоже нажмите Ф1 в оутлуке - там все написано |
|||
23
izekia
21.10.11
✎
14:26
|
(20) ееее, гуру)
|
|||
24
A-tomic
21.10.11
✎
14:29
|
(20) То, что надо! Спасибо большое!
|
|||
25
A-tomic
21.10.11
✎
14:49
|
Еще вопрос в догонку если сталкивались - как победить ошибку при вызове метода Display() у некоторых пользователей (хотя письмо создается и открывается нормально).
|
|||
26
smaharbA
21.10.11
✎
15:05
|
модальное ?
|
|||
27
A-tomic
21.10.11
✎
16:52
|
И модальное тоже. Display(-1)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |