?: Outlook и шаблоны
От: Александр Воронин Россия [70620598]
Дата: 05.11.01 11:19
Оценка:
Кто разбирался с VBA интерфейсом к Outlook-у?

Есть сильное желание научить его хотя бы части фокусов от TheBat-а — точнее подстановки кой-каких макроопределений и куков в тело письма (есс-но, как нового, так и ответа). Эксперименты с плагином от RuList-а ничего хорошего не дали. Помимо прочего (неработы с новым письмом), возможно, влияет отсутствие у меня админских прав, короче — глюкует.
Хочется обрабатывать выход из поля subj и заполнять пустое сообщение.
---
wbr, Alexander Voronin
mailto:
Re: ?: Outlook и шаблоны
От: OlegGL Россия www.oleggl.nm.ru
Дата: 12.11.01 16:41
Оценка:
Здравствуйте Александр Воронин, Вы писали:

АВ>Кто разбирался с VBA интерфейсом к Outlook-у?


АВ>Есть сильное желание научить его хотя бы части фокусов от TheBat-а — точнее подстановки кой-каких макроопределений и куков в тело письма (есс-но, как нового, так и ответа). Эксперименты с плагином от RuList-а ничего хорошего не дали. Помимо прочего (неработы с новым письмом), возможно, влияет отсутствие у меня админских прав, короче — глюкует.

АВ>Хочется обрабатывать выход из поля subj и заполнять пустое сообщение.

Там все не просто, но если в глубь не лезть то можно. Если хочешь получать события то перегружай (Делай Advice) интерфейс Outlook::ApplicationEvents
Общая схема, как все в OutLook работает, хорошо описана в MSDN. Там есть очень удобная картинка Microsoft Outlook Objects, ориентируйся по ней. Ну а если совсем засада будет постучись 94332627. Отвечу.

Но прежде, чем браться за OutLook учти — Большего Количества Багов Просто Не Бывает !
Re[2]: ?: Outlook и шаблоны
От: Александр Воронин Россия [70620598]
Дата: 13.11.01 06:32
Оценка:
Здравствуйте OlegGL, Вы писали:

OGL>Там все не просто, но если в глубь не лезть то можно. Если хочешь получать события то перегружай (Делай Advice) интерфейс Outlook::ApplicationEvents


Во-первых, все это безобразие таки пришлорсь делать на VBA, во-вторых кое-что сделать удалось :) — повесил на кнопку запуск своей ф-ции, которая делает новое письмо и вешается на событие OnChange, фильтруя выход из поля Subj.

Образовались новые вопросы:
— Как повесить обработчик на _кнопку_ вместо пункта меню "Создать". Танци с бубном выдают тип msoControlSplitButton, достучаться до которого VBA не дает :(
— Как выцепить инфу о адресате/отправителе из базы Exchange? Конкретно на данную секунду надо SMTM e-mail адрес вместо "локального" X400, также понадобятся и другие поля из адресной книги...
— Как выставить формат сообщеиня "текст" — несмотря на описания типа "при присвоении значения полю Body, формат текста выставляется в выбранный по умолчанию" (там стоит "текст") — все сбрасывается в RTF...

OGL>Но прежде, чем браться за OutLook учти — Большего Количества Багов Просто Не Бывает !


:-)) В этом я уже убедился, но не вижу выбора — вся сетка сделана на Exchange и админ не очень-то хочет себе лишнего гимора с "левым" софтом....

ЗЫ: Пока делаю шаблон в HTML, парсю в нем ключевые слова и формирую новое письмо в HTMLе...
---
wbr, Alexander Voronin
mailto:
Re[3]: ?: Outlook и шаблоны
От: OlegGL Россия www.oleggl.nm.ru
Дата: 13.11.01 10:06
Оценка:
Здравствуйте Александр Воронин, Вы писали:


АВ>Образовались новые вопросы:

АВ>- Как повесить обработчик на _кнопку_ вместо пункта меню "Создать". Танци с бубном выдают тип msoControlSplitButton, достучаться до которого VBA не дает :(
АВ>- Как выцепить инфу о адресате/отправителе из базы Exchange? Конкретно на данную секунду надо SMTM e-mail адрес вместо "локального" X400, также понадобятся и другие поля из адресной книги...
АВ>- Как выставить формат сообщеиня "текст" — несмотря на описания типа "при присвоении значения полю Body, формат текста выставляется в выбранный по умолчанию" (там стоит "текст") — все сбрасывается в RTF...

1
По поводу событий: ловите те же
Outlook::ApplicationEvents
Outlook::ExplorerEvents
Outlook::ExplorersEvents
и в Outlook::ApplicationEvents вы найдете ::NewMail()
2
По поводу адреса читай про AddressLists Collection Object
(Eще раз рекомендую Msdn->Contents->Office Development Documentation->Office 2000 Documentation->Microsoft Office 2000 languaze Rference->Microsoft Outlook Reference->Microsoft Outlook Objects очень удобно )
3
Весь текст в OutГлюке только в Unicode (правда он его иногда портит но это другая история)
Не очень понял о чем это ты но если речь идет об изменении опций то посмотри UserProperties Collection Object и учти что тип письма у него зависит от EditorType Property (olEditorHTML, olEditorRTF,olEditorText,olEditorWord)
Re[4]: ?: Outlook и шаблоны
От: Александр Воронин Россия [70620598]
Дата: 13.11.01 10:25
Оценка:
Здравствуйте OlegGL, Вы писали:

OGL>Здравствуйте Александр Воронин, Вы писали:



OGL>и в Outlook::ApplicationEvents вы найдете ::NewMail()

NewMail в VBA срабатывает по _приходе_ почты. Как вариант мог бы быть NewItem, но он стабатывает после сохранения, а мне надо до перехода в окно ввода текста.

OGL>По поводу адреса читай про AddressLists Collection Object

Тех пропертей, что мне надо по записям из AddressList не выдается (либо они замаскироваты так, что даже васиковсикй отладчик их не видит). Единственная проперть "Address" возвращает текущий (Х400) адрес, не давая задать что-либо иного. Как вариант можно, разве добавить юзера в локальную адресную книгу (типа "Контакты" %-) и кое-что выцеплять оттуда, но не хотелось бы :(

OGL>(Eще раз рекомендую Msdn->Contents->Office Development Documentation->Office 2000 Documentation->Microsoft Office 2000 languaze Rference->Microsoft Outlook Reference->Microsoft Outlook Objects очень удобно )

Я и сам ее нередко пользую. Пока не добрался — в онлайне "непривычная" навигация, а офф-лайна пока не дают :-) Но к этому все идет...

OGL>3

[skip]
===
Body Property
Returns or sets the clear-text body of the Outlook item.
Note The EditorType property is not affected when you merely access the Body property of the item (as in MsgBox myItem.Body), but when you reset the Body property (as in myItem.Body = "This is a new body"), the EditorType reverts back to the user's default editor.
===
default editor == text only !!!
В результате записи object.body = "Мой текст" формат сообщения сбрасывается в RTF!
Проперть EditorType — readonly!

Повторяю вопрос :-))) Как переключить (программно есс-но :) контент письма в Text? для HTML — HtmlBody = "Мой текст" автоматом ставит формат HTML. Если это можно сделать из меню, то должно быть выполнимо и программно — как?!!!

ЗЫ: А юникод тут совсем не причем :) Меня не волнует, как аутглюк _хранит_ письмо, меня волнует, как он его отправит!
---
wbr, Alexander Voronin
mailto:
Re[5]: ?: Outlook и шаблоны
От: OlegGL Россия www.oleggl.nm.ru
Дата: 13.11.01 11:13
Оценка:
Здравствуйте Александр Воронин, Вы писали:



OGL>>и в Outlook::ApplicationEvents вы найдете ::NewMail()

АВ>NewMail в VBA срабатывает по _приходе_ почты. Как вариант мог бы быть NewItem, но он стабатывает после сохранения, а мне надо до перехода в окно ввода текста.

А ExplorersEvents:NewExplorer ? это не то ?



OGL>>По поводу адреса читай про AddressLists Collection Object

АВ>Тех пропертей, что мне надо по записям из AddressList не выдается (либо они замаскироваты так, что даже васиковсикй отладчик их не видит). Единственная проперть "Address" возвращает текущий (Х400) адрес, не давая задать что-либо иного. Как вариант можно, разве добавить юзера в локальную адресную книгу (типа "Контакты" %-) и кое-что выцеплять оттуда, но не хотелось бы :(

OGL>>3

АВ>[skip]
АВ>===
АВ>Body Property
АВ>Returns or sets the clear-text body of the Outlook item.
АВ>Note The EditorType property is not affected when you merely access the Body property of the item (as in MsgBox myItem.Body), but when you reset the Body property (as in myItem.Body = "This is a new body"), the EditorType reverts back to the user's default editor.
АВ>===
АВ>default editor == text only !!!
АВ>В результате записи object.body = "Мой текст" формат сообщения сбрасывается в RTF!
АВ>Проперть EditorType — readonly!

АВ>Повторяю вопрос :-))) Как переключить (программно есс-но :) контент письма в Text? для HTML — HtmlBody = "Мой текст" автоматом ставит формат HTML. Если это можно сделать из меню, то должно быть выполнимо и программно — как?!!!


Согласен — должно. Я VBA не пользуюсь и советую поискать нужный пропертис в tlh файле.
И вот что я еще вычитал
System Policy Tip You can use a system policy to set the format of outgoing Outlook 2000 messages. In the System Policy Editor, set the Microsoft Outlook 2000\Tools | Options\Mail Format\Message format/editor — Corporate or Workgroup configuration policy. For more information about the System Policy Editor, see Using the System Policy Editor.
Я сам это никогда не переключал.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.