powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / MS Outlook повесить программное событие на создание письма/заметки?
8 сообщений из 8, страница 1 из 1
MS Outlook повесить программное событие на создание письма/заметки?
    #39955185
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли средствами VBA внутри Оутлука 2010+ это както сделать?

Стандартное событие объекта Application_ItemLoad не позволяет работать с объектом, видимо потому что отрабатывает оно перед инициализацией создаваемого объекта, - проперти/методы объекта кроме Item.Class невозможно использовать, ошибка валится.
...
Рейтинг: 0 / 0
MS Outlook повесить программное событие на создание письма/заметки?
    #39955212
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ldfanate,

Что сделать-то хотите в итоге?
Application_ItemLoad прекрасно отслеживает создание элементов и его типы. Но да - т.к. это всего лишь загрузка элемента и событие происходить до его полного создания, то методы и свойства не доступны. Чтобы как-то помочь надо иметь представление о том, что хотите вообще сделать с новым пустым элементом после того, как отследили его создание. Иначе сложно что-то вообще предложить.
...
Рейтинг: 0 / 0
MS Outlook повесить программное событие на создание письма/заметки?
    #39955224
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пытаюсь сделать некий интерактив с Оутлуком из командной строки.
Т.е. выполняю например вызов уже открытого оутлука, чтобы создать письмо из командной строки
Код: sql
1.
outlook.exe /recycle /c ipm.note /m someaddr


событие Application_ItemLoad ессно ловится,
но нужно после открытия болванки письма в оутлуке выполнить некую программную автоматическую постобработку наполнения этого письма.

Через Item события работать с письмом не даёт.
Вторичный таймер поставить в событии, чтобы ну например через 1сек после создания письма таймер бы инициировал его постобработку, так понимаю тоже нельзя, т.к. в объектной модели оутлука нету OnTimer.

Открывать для этого дополнительный OLE-экземпляр ну например экселя, в котором таймер есть, - както жирно. Хотелось бы все алгоритмы сделать только внутри VBA Оутлука, не нагораживая дополнительных приложений. Да и не факт что сработает, ведь в событие Item передаётся ByVal - нет уверенности, что когда после события объект полностью создастся, объектная переменная будет корректной.

В оутлуках до 2010го был удобный консольный параметр /mИмяМакроса который бы решил задачу влоб. Но в новых его нету.

Вот както так хотелось бы извернуться, чтобы всё отработало в оутлуке.
...
Рейтинг: 0 / 0
MS Outlook повесить программное событие на создание письма/заметки?
    #39955263
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ldfanate,

т.е. как возможный способ решения видится - при старте оутлука (в событии OnStart) повесить программную обработку событий создания любых карточек писем, тогда оно будет срабатывать в т.ч. от консольной команды. И тогда по доп.критерию (ну например по томуже /m ) вылавливать "свои" письма.

Т.е. можно ли например public withEvents чтото из объектой модели так объявить в нём-же, чтобы ловить хоть какието события, связанные с созданием карточек в оутлуке?
...
Рейтинг: 0 / 0
MS Outlook повесить программное событие на создание письма/заметки?
    #39955265
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ldfanate,

м-да...надо подумать. вменяемые варианты пока в голову не идут при таких условиях. Если только шаблон письма настроить и сделать его умолчанием
...
Рейтинг: 0 / 0
MS Outlook повесить программное событие на создание письма/заметки?
    #39955273
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
загрузить шаблон с фиксированным именем файла через консоль емнип можно. Но как на него повесить постобработку?

Впринципе меня бы устроил любой способ даже хотябы поймать внутри любого события оутлука факт его вызова из консоли.

Думал уже в событии Application_ItemLoad через API для текущего экземпляра процесса оутлука спросить Винду "дай мне параметры командной строки последнего запуска". Но всёравно, даже если и сработает (в чём нет уверенности, т.к. вызываю outlook /recycle чтобы в память не грузился долго второй экземпляр оутлука), всёравно у пользователя перед мордой останется созданная консолью пустышка письма, - которую надо както утилизировать.
...
Рейтинг: 0 / 0
MS Outlook повесить программное событие на создание письма/заметки?
    #39955536
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну вобщем получается кустомную форму сделать-опубликовать и вызвать через /c

Но вот беда, - среди доступных контролов, которые можно влепить на такую форму, нет ни одного таймера, который бы мог вызвать какойнибудь макрос, который бы эту форму прибил и выполнил необходимую прочую постобработку.
Timer control был так понимаю только в библиотеке MSVB6, а она только 32битная.
Есть ли подобный контрол под 64битные винды типа 8.1-10 ?
...
Рейтинг: 0 / 0
MS Outlook повесить программное событие на создание письма/заметки?
    #39955538
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о, нашёл вариант https://www.sql.ru/forum/1313566/klass-taymera-vb6-vba?hl=timer
надо попробовать. Про возможность создавать таймеры чисто средствами WinAPI чтото не додумался.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / MS Outlook повесить программное событие на создание письма/заметки?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]