|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.08.2014, 16:47 | #1 |
Форумчанин
Регистрация: 19.06.2009
Сообщений: 163
|
Outlook. Шаблон для нового сообщения
Здравствуйте. Пишу про Outlook в тему для Exel, т.к. она ближе всего по духу в среде создания макросов.
У Outlook есть такая болячка как отсутствие вменяемой работы с шаблонами. Казалось бы какой пустяк сделать шаблон, чтобы при создании нового сообщения в тело письма вставлялось слово "Здравствуйте", а ниже вставлялась подпись. Но не тут-то было. Платный продукт Outlook вырос уже до великого и ужасного релиза 2013, а так и не научился у своих бесплатных конкурентов элементарным функциям. Вариант - вставить слово "Здравствуйте" в саму подпись - не канает, т.к. в этом случае придется писать письмо в поле предназначенном для подписи, где нельзя полноценно редактировать. Так же можно сохранить шаблон письма на компьютер и потом вызывать его специальным макросом каждый раз когда нужно написать письмо. Это пожалуй будет самый правильный и красивый вариант (особенно если повесить разноцветные кнопочки этих макросов на ленту), но он выгоден когда необходимо работать с большим количеством шаблонов. В случае, когда нужно вставить только лишь слово "Здравствуйте" в каждое новое письмо, нагромождать панель лишними кнопками и переобучать сотрудников нажимать не на кнопку "Создать сообщение" к которой они привыкли, а на "вон ту новую красивенькую кнопочку" как-то не комильфо. Пользователи, как известно, народ ушлый, но труднопереобучаемый. Да и переделывание ленты в Outlook для 100 пользователей не прельщает свой перспективой. Порыскав ночку в интернетах нашел с виду неплохой макрос под свои нужды (вставлять макрос нужно в ThisOutlookSession предварительно разрешив выполнение макросов в параметрах безопасности Outlook). Код:
И еще один момент - макрос работает только если редактируемое письмо открыто в новом окне, а не в теле основного окна Outlook. Но это не смертельно, просто нужно учитывать это при настройке Outlook для работы с этим макросом (настраивается в параметрах Outlook "Ответы и пересылка"). Так вот собственно сам вопрос - как научить данный макрос определять что в редактируемом письме в начале текста уже есть слово "Здравствуйте" и останавливаться если это слово найдено? Заранее спасибо за любую помощь. PS: Использую Outlook 2013 x64 Последний раз редактировалось ru3000; 01.08.2014 в 16:52. |
03.08.2014, 03:08 | #2 |
Форумчанин
Регистрация: 19.06.2009
Сообщений: 163
|
Нашел то что хотел. Теперь макрос проверяет наличие слова "Здравствуйте". Если такое слово есть, то макрос останавливается. Правда теперь в ответах и пересылках макрос может и не вставлять приветствие если в письме он найдет хоть одно слово "Здравствуйте". Временное решение - добавил в конце вставляемого и искомого слова точку и пробел, дабы хоть немного сократить вероятность совпадения. Также добавил форматирование к слову "Здравствуйте", в данном примере: шрифт Calibri, размер 11.
Код:
|
03.08.2014, 13:21 | #3 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 388
|
Функция InStr возвращает позицию найденной строки - проверяйте ее ...
Код:
на неконкретные вопросы даю неконкретные ответы ...
|
03.08.2014, 16:07 | #4 |
Форумчанин
Регистрация: 19.06.2009
Сообщений: 163
|
Спасибо. Теперь все работает как надо. Вот рабочий вариант макроса.
Код:
Последний раз редактировалось ru3000; 03.08.2014 в 16:30. |
03.08.2014, 21:43 | #5 |
Форумчанин
Регистрация: 19.06.2009
Сообщений: 163
|
Outlook 2013 при ответе и пересылке по умолчанию использует синий цвет текста в теле письма. Чтобы учесть этот момент я немного доработал макрос. Теперь макрос будет проверять нет ли в письме слова "From:". Если нет, то в письмо будет вставлено слово "Здравствуйте" с автоматическим (черным) цветом. Если есть, то слово "Здравствуйте" будет окрашено в синий цвет (color:#205080).
Код:
|
25.06.2016, 00:50 | #6 |
Новичок
Джуниор
Регистрация: 25.06.2016
Сообщений: 2
|
Ох, Спасибо, дорогой товарищ! )))
Очень помог! |
27.06.2016, 00:43 | #7 | |
Новичок
Джуниор
Регистрация: 25.06.2016
Сообщений: 2
|
Цитата:
НО обнаружилась ошибка при открытии вложенных писем или входящих писем - в них вставляется наше "Здрасте"... Не уверен, что сделал правильно, но мои "костыли" вроде работают... )))) Надо еще тестировать... Если у кого-то есть более корректный или элегантный вариант, дайте знать )) Итак, у меня такой код получился: Код:
Последний раз редактировалось AMukhanin; 27.06.2016 в 00:46. |
|
03.11.2017, 12:17 | #8 |
Новичок
Джуниор
Регистрация: 03.11.2017
Сообщений: 1
|
Всем привет! Большое спасибо за код. Слегка переделал - Меняет приветствие в зависимости от времени. Но возникла проблема, при изменении в Outlook 2010 контактов, VBA дает ошибку на
Код:
Вот весь код. Код:
Последний раз редактировалось Vestigator; 03.11.2017 в 12:20. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Шаблон при создании нового консольного приложения | Arsenx777 | C# (си шарп) | 1 | 18.10.2011 22:16 |
WebBrowser - приход нового сообщения | MORPEH | Общие вопросы Delphi | 8 | 18.12.2010 08:44 |
Шаблон при создании нового листа | lecko | Microsoft Office Excel | 19 | 28.07.2010 15:15 |
Автоматизация создания нового письма в MS Outlook. | SANIOK_AV | Общие вопросы Delphi | 1 | 13.04.2009 10:17 |