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

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

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


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

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

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

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

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

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

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

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

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

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

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


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