Мучает вопрос - как составить тело письма Outlook из нескольких переменных элементов?
Уже несколько дней с братьями по VBA ходим по форумам, пока безрезультатно.
Отправка писем из Excel - довольно популярная тема и легко можно найти образцы кодов, позволяющих отправить письмо конкретному адресату, с конкретным текстом, темой, вложением. Как понимаю, всё упирается в объект "Outlook.Application" и работу с "mailitem". И всё это вдохновляет меня мечтать.
Представьте, что отправляете Вы каждый день разные отчёты по почте. Для каждого письма нужно написать комментарий и в определённой последовательности вставить в письмо графики (аки JPEG), иногда таблицы Excel. Вроде недолго одно письмо заполнить - минута. А таких писем за день, допустим, 10. За месяц набежит уже 3 часа времени, которое можно было бы сэкономить. А чтобы жить хорошо, нужна кнопка, которая составит и отправит тело письма, например, с похожей структурой:
Переменные куски (as String) можно подтягивать из конкретных ячеек, фиксированный текстовый кусок - можно и в коде прописать. Основная загвоздка - как сшивать в теле письма разного рода объекты?
Буду рад наводкам и советам знающих людей.
На неделе попробую штурмовать труды Уокенбаха. Если что найду - обязательно поделюсь.
Здравствуйте, уважаемые форумчане!
Мучает вопрос - как составить тело письма Outlook из нескольких переменных элементов?
Уже несколько дней с братьями по VBA ходим по форумам, пока безрезультатно.
Отправка писем из Excel - довольно популярная тема и легко можно найти образцы кодов, позволяющих отправить письмо конкретному адресату, с конкретным текстом, темой, вложением. Как понимаю, всё упирается в объект "Outlook.Application" и работу с "mailitem". И всё это вдохновляет меня мечтать.
Представьте, что отправляете Вы каждый день разные отчёты по почте. Для каждого письма нужно написать комментарий и в определённой последовательности вставить в письмо графики (аки JPEG), иногда таблицы Excel. Вроде недолго одно письмо заполнить - минута. А таких писем за день, допустим, 10. За месяц набежит уже 3 часа времени, которое можно было бы сэкономить. А чтобы жить хорошо, нужна кнопка, которая составит и отправит тело письма, например, с похожей структурой:
Переменные куски (as String) можно подтягивать из конкретных ячеек, фиксированный текстовый кусок - можно и в коде прописать. Основная загвоздка - как сшивать в теле письма разного рода объекты?
Буду рад наводкам и советам знающих людей.
На неделе попробую штурмовать труды Уокенбаха. Если что найду - обязательно поделюсь.Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279
Сообщение отредактировал Rioran - Понедельник, 14.04.2014, 23:58
Доброе время суток. Наиболее просто формировать всё на странице Excel, экспортировать её в html, текст этого hlml-файла задавать для тела письма в Outlook через HTMLbody
Доброе время суток. Наиболее просто формировать всё на странице Excel, экспортировать её в html, текст этого hlml-файла задавать для тела письма в Outlook через HTMLbodyanvg
У Уокенбаха в книге "Профессиональное программирование на VBA" (как "Война и Мир" только про VBA) под Outlook отведено совсем мало места, но вот про HTML там как раз есть дельное упоминание.
Спасибо за интересный совет, буду пробовать.
У Уокенбаха в книге "Профессиональное программирование на VBA" (как "Война и Мир" только про VBA) под Outlook отведено совсем мало места, но вот про HTML там как раз есть дельное упоминание.Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279
Так чем собственно? Уокенбах не помог? Или собирать из кусков html кода (сохраняя диаграммы как растр) и использовать HTMLBody объекта MailItem объектной модели Outlook Или формировать на листе требуемое по списку (как выбрать подпись в Outlook не знаю, но можно ведь её сделать непосредственно на листе) И воспользоваться отправкой листа книги ActiveSheet.MailEnvelope.Item.Send Успехов.
Так чем собственно? Уокенбах не помог? Или собирать из кусков html кода (сохраняя диаграммы как растр) и использовать HTMLBody объекта MailItem объектной модели Outlook Или формировать на листе требуемое по списку (как выбрать подпись в Outlook не знаю, но можно ведь её сделать непосредственно на листе) И воспользоваться отправкой листа книги ActiveSheet.MailEnvelope.Item.Send Успехов.anvg
Я считаю, что выложенные здесь решения - находятся в свободном доступе. Использовать их можно как душе угодно. А вот ссылка - уже на совести копирующего. Лично мне было бы приятно, если вместе с кодом люди видели, кто его придумал.
babesofparis.biz, здравствуйте.
Я считаю, что выложенные здесь решения - находятся в свободном доступе. Использовать их можно как душе угодно. А вот ссылка - уже на совести копирующего. Лично мне было бы приятно, если вместе с кодом люди видели, кто его придумал.Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279