Вставить в письмо Outlook диаграмму Excel
Хитрости »
27 Октябрь 2020 Дмитрий 1562 просмотров
Основные понятия (26) Сводные таблицы и анализ данных (10) Графики и диаграммы (5) Работа с VB проектом (12) Power BI и Power Query (22) |
Условное форматирование (5) Списки и диапазоны (5) Макросы(VBA процедуры) (68) Разное (43) Баги и глюки Excel (4) |
Руками вставить диаграмму в письмо Outlook более чем просто: копируем нужную диаграмму, переходим в письмо и вставляем в нужное место. Через VBA это делается чуть сложнее…
Я уже писал несколько статей по работе в Outlook, среди которых есть и Вставить в письмо Outlook таблицу Excel с форматированием. Однако, код вставки таблицы не совсем подходит для вставки диаграммы. Первый код из статьи, в котором используется метод SendKeys для вставки в тело письма объекта из буфера обмена(будь то диапазон, фигура или диаграмма), хоть и сработает, не очень мне нравится.
'--------------------------------------------------------------------------------------- ' Author : The_Prist(Щербаков Дмитрий) ' Профессиональная разработка приложений для MS Office любой сложности ' Проведение тренингов по MS Excel ' https://www.excel-vba.ru ' [email protected] ' WebMoney - R298726502453; Яндекс.Деньги - 41001332272872 ' Purpose: Процедура создает письмо в Outlook ' и вставляет в него выделенную на листе диаграмму методом "посыла" команды "Вставить" '--------------------------------------------------------------------------------------- Sub SendMail_WithChart_SendKeys() Dim objOutlookApp As Object, objMail As Object Application.ScreenUpdating = False 'копируем выделенную диаграмму Selection.Copy On Error Resume Next 'пробуем подключиться к Outlook Set objOutlookApp = CreateObject("Outlook.Application") 'создаем новое сообщение Set objMail = objOutlookApp. |
Перед запуском кода необходимо сначала выделить на листе нужную диаграмму.
Однако я сторонник методов более надежных, пусть и более сложных. И если есть возможность сделать код, который будет работать более стабильно, то буду использовать именно его. Путь приведенный ниже метод не универсален и работает только с диаграммами — он более надежен, чем код выше. По сути метод основан на встроенной возможности сохранения диаграмм в файл на диске(метод Export) и на возможности вставить в письмо картинку с диска(Отправить письмо через Outlook с картинкой в теле письма). А больше ничего особо и не требуется — просто совместить эти две возможности:
'--------------------------------------------------------------------------------------- ' Author : The_Prist(Щербаков Дмитрий) ' Профессиональная разработка приложений для MS Office любой сложности ' Проведение тренингов по MS Excel ' https://www. excel-vba.ru ' [email protected] ' WebMoney - R298726502453; Яндекс.Деньги - 41001332272872 ' Purpose: Процедура создает письмо в Outlook ' и вставляет в него выделенную на листе диаграмму как картинку '--------------------------------------------------------------------------------------- Sub SendMail_WithChartAsPicture() Dim objOutlookApp As Object, objMail As Object Dim oChart As Chart Dim sChartPath As String, sPictureBodyCode As String Application.ScreenUpdating = False 'копируем выделенную диаграмму On Error Resume Next Set oChart = ActiveChart If oChart Is Nothing Then MsgBox "Необходимо выделить диаграмму", vbInformation, "www.excel-vba.ru" Exit Sub End If 'путь для сохранения диаграммы на диске(необходим для дальнейшей вставки в письмо) sChartPath = ThisWorkbook.Path & "\chart.png" 'сохраняем диаграмму как картинку PNG на диск oChart.Export sChartPath, "PNG" 'создаем код для вставки диаграммы в письмо sPictureBodyCode = "<img src=cid:" & Replace(Dir(sChartPath, 16), " ", "%20") & ">" ' & " height=240 width=180>" '" height=240 width=180>" - если нужны конкретные размеры вставляемой картинки 'пробуем подключиться к Outlook Set objOutlookApp = CreateObject("Outlook. |
Так же как и в случае с предыдущим кодом, необходимо сначала выделить на листе нужную диаграмму и запустить код.
Но я прекрасно понимаю, что на листе может быть более одной диаграммы и все их надо вставить на лист. Даже не так: не все, а несколько выделенных. Предыдущий код не сможет этого сделать, т.к. изначально работает только с одной диаграммой и подстроить его под одну-две-три простой правкой двух строк кода не получится. Поэтому я приведу ниже код, который вставляет в письмо все выделенные диаграммы(а перед ними добавит текст):
'--------------------------------------------------------------------------------------- ' Author : The_Prist(Щербаков Дмитрий) ' Профессиональная разработка приложений для MS Office любой сложности ' Проведение тренингов по MS Excel ' https://www.excel-vba.ru ' [email protected] ' WebMoney - R298726502453; Яндекс.Деньги - 41001332272872 ' Purpose: Процедура создаем письмо в Outlook ' и вставляет в него все выделенные на листе диаграммы как картинки '--------------------------------------------------------------------------------------- Sub SendMail_WithSelectedCharts() Dim objOutlookApp As Object, objMail As Object Dim oChart, sSelR As ShapeRange Dim aCharts(), asChartPath(), spath, sChartPath As String, sPictureBodyCode As String Dim lc_cnt As Long On Error Resume Next 'пробуем определить все выделенные диаграммы Set sSelR = Selection. |
Все, что требуется, это выделить нужные диаграммы на листе и запустить код.
Так же см.:
Как отправить письмо из Excel?
Вставить в письмо подпись из Outlook через VBA
Вставить в письмо Outlook таблицу Excel с форматированием
Сохранить вложения из Outlook в указанную папку
Как отправить письмо от другой учетной записи Outlook
Статья помогла? Поделись ссылкой с друзьями!
ВидеоурокиПоиск по меткам
Accessapple watchMultexPower Query и Power BIVBA управление кодамиБесплатные надстройкиДата и времяЗапискиИПНадстройкиПечатьПолитика КонфиденциальностиПочтаПрограммыРабота с приложениямиРазработка приложенийРосстатТренинги и вебинарыФинансовыеФорматированиеФункции Excelакции MulTExссылкистатистика
Отправление писем в html-формате из MS Outlook 2010 — Блог веб-студии «Десять букв» — Веб-студия «Десять букв»
4 февраля 2019
Возможность работы с отправлениями в виде html-писем в Outlook-е надёжно встроена. Настолько надёжно, что навскидку искать можно очень долго, во избежание чего мы и пройдём этот путь здесь вместе.
Сразу вставим ремарку, что для корректного отображения изображений, встроенных в тело вашего html-письма, ссылки на них должны вести к серверу. Соответственно, и хранение картинок должно быть организовано на сервере, а не на локальном жёстком диске вашего компьютера.
Видео
Загружаем html-письмо в Outlook-2010В открытом окне программы кликаем по кнопке интерфейса «Создать сообщение» слева вверху
Рис. 1В раскрывшемся окне создания сообщения в главном меню выбираем группу команд «Вставка», а в ней — команду «Вложить файл»
Рис. 2Через открывшееся диалоговое окно вставки файла добираемся до заготовки своего письма. Выбираем его кликом мыши и раскрываем список (под треугольником) рядом с кнопкой «Вставить», где выбираем команду «Вставить как текст». Это инициирует загрузку кода и текста нашего html-шаблона в тело письма
Рис. 2Прежде, чем перейти к редактированию письма (если в том есть необходимость), следуя правилам хорошего тона электронной переписки, укажите тему письма и адресата, или адресатов, которым оно направляется.
Рис. 4Редактируем содержимое html-сообщенияРедактирование текста во вновь созданном сообщении интуитивно понятно: просто ставим курсор в нужную позицию среди текста, и производим правку: добавляем, выделяем, исправляем — поступаем, как с обычным текстом.
Доступ к редактированию ссылок осуществляется из контекстного меню. Кликаем по объекту или тексту, содержащему гиперссылку правой кнопкой мыши, и выбираем команду «Изменить гиперссылку»
Рис. 5В раскрывшемся окне «Изменение гиперссылки» в строке «Адрес» вносим необходимые изменения
Рис. 6Совершенно по аналогии гиперссылку можно удалить через клик в соответствующем пункте контекстного меню, или добавить, добравшись через него же до упомянутой выше строки «Адрес»
Работа с изображениями html-сообщений в Outlook-2010 требует предварительной подготовки нужных нам изображений. В привычном для вас графическом редакторе следует подогнать физические размеры вашей новой картинки, те, что измеряются в пикселях, под размер изображения, уже встроенного в тело используемого html-шаблона.
Затем, кликнув правой кнопкой на изображении в письме, выбираем в появившемся контекстном меню команду «Изменить рисунок»
Рис. 7Через раскрывшееся окно «Вставка рисунка» выбираем нужный файл и нажатием «Вставить» замещаем им в нашем html-письме первоначальную картинку.
Вставка же совершенно нового изображения тоже допустима. Для того чтобы внедрить в наше сообщение картинку в добавление к имеющимся, выбираем группу команд «Вставка», а в ней — «Рисунок»
Рис. 8Это откроет окно «Вставка рисунка», в котором и надо найти нужный нам, и завершить действие нажатием команды «Вставить».
После всех этих манипуляций, наверняка, наше письмо станет эталоном совершенства. Что ж, остаётся только дать ему путёвку в жизнь. Еще раз, для уверенности, проверяем адреса наших получателей, наличие темы, и — жмём «Отправить»
Рис. 9Изображения изменяются в размере и становятся нечеткими при отправке
При вставке изображения в тело сообщения или использовании его в подписи изображение может неожиданно измениться в размере и/или стать нерезким при отправке, даже если оно все еще выглядело четким при составлении.
Причина этой проблемы заключается в способе обработки размеров изображения в сочетании с его значением dpi.
Это руководство содержит несколько решений и способов обхода этой проблемы.
- Предыстория вопроса
- Решение: Параметр в Outlook для Microsoft 365
- Обходной путь 1. Повторно визуализируйте изображение с разрешением 96 точек на дюйм
- Обходной путь 2. Измените размер изображения до его исходных размеров
- Обходной путь 3. информационные бюллетени или другие шаблоны дизайна электронной почты
Предыстория проблемы
Эта проблема обычно возникает при использовании изображения, отличного от 96 dpi.
При вставке изображения Outlook изменит масштаб изображения, как если бы это было 9изображение 6dpi. Это означает, что если у вас есть изображение с разрешением 150 dpi и высотой 88 пикселей, оно будет отображаться как изображение высотой 56 пикселей;
88px/150dpi * 96dpi = 56px
Это еще хуже; после отправки Outlook будет постоянно конвертировать и сжимать (повторно отображать) изображения до 96 точек на дюйм с новыми размерами! Это означает, что вся «подробная» информация об изображении будет потеряна, и вы будете отправлять изображение с разрешением 96 точек на дюйм и высотой 56 пикселей. Это, конечно, серьезная и очень заметная потеря качества.
Если ваша картинка меньше 96dpi, то происходит обратное. Изображение высотой 88 пикселей с разрешением 32 dpi приведет к изображению с разрешением 96 dpi и высотой 264 пикселя. Таким образом, в результате получится очень большое изображение (но на этот раз вы можете изменить его размер обратно без размытия изображения).
Это давно нерешенная проблема/функция/дизайн, которая восходит к Word 6.0 1993 года. стать проблемой, когда у вас есть тщательно разработанная графика для использования в информационном бюллетене или подписи; потеря качества и неожиданные изменения графических размеров — это не то, что вам нужно.
Решение для этого было впервые представлено в Outlook для Microsoft 365 версии 2007 (сборка 13029.203208).
Решение в Outlook для Microsoft 365
При использовании Outlook для Microsoft 365 версии 2007 или более поздней версии вы можете установить параметр, запрещающий сжатие изображений как части содержимого электронной почты.
- Файл-> Параметры-> Почта-> Параметры редактора…-> Дополнительно-> включить: Не сжимать изображения в файле
Установка этого параметра предотвратит повторный рендеринг вставленных изображений. Если этот параметр не установлен, изображения будут повторно отображаться с настройкой «Разрешение по умолчанию» из раскрывающегося списка.
Обходной путь 1: повторно визуализируйте изображение с разрешением 96 dpi
Самый быстрый и простой способ обойти эту проблему — повторно визуализировать изображения с разрешением 96 dpi. Как правило, это не приведет к заметной потере качества.
Вы можете сделать это с помощью ряда инструментов обработки изображений, таких как IrfanView (бесплатно). Если вы используете представление IrfanView, выполните следующие шаги, чтобы повторно отобразить изображение с разрешением 96 точек на дюйм;
- Сделайте копию вашего изображения (если вы не боитесь потерять оригинал).
- Откройте изображение в IrfanView.
- Выберите Image-> Resize/Resample
- Внизу нового диалогового окна измените значение DPI на 96
- Нажмите OK.
- Сохраните изображение.
Теперь, когда вы используете изображение в Outlook, оно сохранит ожидаемые размеры изображения и не станет нечетким при отправке.
Изменение настроек dpi в IrfanView.
Обходной путь 2: Измените размер изображения до его исходных размеров
Еще один способ сделать это без использования дополнительных приложений — изменить размер изображения в самом Outlook.
После вставки изображения щелкните его правой кнопкой мыши и выберите «Размер и положение…». Теперь вы увидите, что его размер установлен на 100%. Вы должны увеличить этот процент по отношению к уменьшению dpi по следующей формуле;
исходное dpi/96 dpi * 100%
Пример:
Если у вас есть изображение с разрешением 150 dpi, вам нужно установить процентное значение 156%.
150/96 * 100% = 156,25%
Обратите внимание, что описанный выше метод не идеален и все же может иметь место небольшое искажение изображения. Это связано с тем, что вы можете установить только полные процентные точки, а не, как в примере, точный результат с полным количеством цифр после запятой. К сожалению, невозможно изменить размеры изображения в Outlook/Word, указав значения в пикселях.
Если вы используете изображение в своей подписи, вы можете изменить размер изображения до его исходных размеров, изменив значения пикселей в шаблоне подписи.
Чтобы найти шаблон подписи, удерживайте кнопку CTRL при нажатии кнопки «Подписи…» в диалоговом окне «Параметры» Outlook. Откроется папка «Подписи», в которой вы найдете файл <имя подписи>.htm. Откройте этот файл в Блокноте и найдите тег . Теперь вы можете изменить значения ширины и высоты на точные значения пикселей исходного изображения.
Быстро откройте папку, удерживая клавишу CTRL при нажатии кнопки Подписи….
При создании информационных бюллетеней или других шаблонов дизайна электронной почты
Если вы используете изображение в информационном бюллетене или другом шаблоне, лучше всего создать его в соответствующем HTML-редакторе, а не в Outlook/Word. in.
Когда вы закончите создание htm-файла, вы можете вставить сгенерированный HTML-код непосредственно в новое сообщение с помощью классической кнопки «Прикрепить файл», которую вам нужно сначала добавить на панель быстрого доступа или ленту. в Outlook 2016, 2019и Microsoft 365.
В Outlook 2010 и Outlook 2013 вы можете сделать это напрямую через;
Insert-> (Attach) File-> выберите созданный htm-файл-> стрелка вниз на кнопке Insert-> Insert as Text
Это сохранит значения пикселей для изображения, установленные в вашем HTML-дизайне и, следовательно, его предназначение размер.
Вставка HTML напрямую с помощью функции «Вставить как текст».
Как вставить картинку в тело письма?
В зависимости от того, какую программу электронной почты вы используете, поместить изображение в тело электронного письма может быть легко, сложно или почти невозможно.
Я давно задавался вопросом, как разместить изображения и другие элементы на лицевой/основной части электронного письма. Я не имею в виду отдельное приложение.
Большая проблема с попыткой ответить на этот вопрос заключается в том, что ответ различен, в зависимости от того, какую программу электронной почты вы используете, и, возможно, даже от поставщика услуг электронной почты, у которого вы можете быть зарегистрированы. Во многих случаях прагматичный ответ таков: вы не можете. Кроме того, даже если вы разместите изображения в теле письма, нет гарантии, что ваши получатели увидят их там. Но я могу, по крайней мере, охватить несколько требований и некоторые из наиболее распространенных методов. Для начала вам нужно составить сообщение в формате Rich Text или HTML. Простые текстовые электронные письма, ну, в общем, простые. Они могут быть меньше, с меньшей вероятностью будут помечены как спам и даже немного безопаснее, но вы не можете использовать причудливое форматирование или вставлять изображения — только вложения будут работать с обычным текстом. Как вы убедитесь, что составляете форматированное текстовое сообщение, — это одна из тех вещей, которые полностью зависит от того, какую почтовую программу вы используете. Некоторые примеры:
"
Для начала вам нужно составить сообщение в формате "Rich Text" или HTML.
|
Как видите, все они немного отличаются друг от друга, а другие почтовые программы могут отличаться еще больше.
•
Одна вещь, которую большинство будет включать при составлении в расширенном формате, — это панель инструментов, похожая на эту: эта панель инструментов позволяет вам управлять форматированием вашего письма с форматированным текстом, устанавливая такие элементы, как жирный шрифт, курсив, шрифт размеры, ссылки и тому подобное. На некоторых панелях инструментов есть значок, специально предназначенный для вставки изображения: нажмите на него, и вам будет предложено указать местоположение изображения, которое будет вставлено в ваше электронное письмо. Укажите изображение, возможно, укажите подпись, и все готово: изображение помещается в тело сообщения, которое вы составляете. К сожалению, большинство веб-служб электронной почты , похоже, не поддерживают размещение изображений непосредственно в электронной почте. На самом деле, изучая панели инструментов выше, я обнаружил, что ни Hotmail, ни почта Yahoo, ни GMail официально не позволяют размещать изображение в теле письма. Единственный поддерживаемый способ отправки изображения с помощью этих сервисов — вложение.
сообщить об этом объявлении
•
Другой подход, который работает во многих почтовых программах, заключается в копировании/вставке изображения в сообщение электронной почты. Процесс выглядит следующим образом:
- Откройте изображение, которое хотите использовать, в графическом редакторе или средстве просмотра, например Microsoft Paint.
- Используйте функцию Select All этого редактора, чтобы выбрать все изображение. Во многих программах для этого достаточно ввести CTRL+A .
- Используйте эти редакторы Edit , Copy Команда для копирования изображения в буфер обмена или введите CTRL+C .
- Перейдите в программу электронной почты, где вы создаете новое электронное письмо. Нажмите в теле письма и введите CTRL+V или воспользуйтесь функцией программы Изменить , Вставить .
- Если ваша программа электронной почты поддерживает это, изображение должно появиться в теле письма.
Этот подход действительно работает в большинстве машинных почтовых программ, таких как Outlook Express, Outlook, Thunderbird и им подобных. На самом деле это техника, которую я использую чаще всего. Я слышал сообщения о том, что этот метод может иногда работать с веб-службами электронной почты, но мне не удалось заставить его работать в моих экспериментах.
•
Есть еще один подход, который работает в некоторых почтовых программах, но не в большинстве, — это ручное редактирование HTML. Если ваша программа электронной почты позволяет вам редактировать HTML-код, который используется «за кадром» для отправки форматированных электронных писем, вы можете:
- Разместить свое изображение на веб-сайте для обмена фотографиями
- Вставить это изображение с помощью простого HTML-кода в свой электронная почта.
Вот пример кода HTML, который делает именно это:
Вот новый логотип Ask Leo!:
< img src="https://img.askleomedia.com/askleonew.png" />
, который при отображении в электронном письме будет выглядеть так:
Вот новый Спросите Лео! logo:
Вы видите, что тег img ссылается на определенный файл изображения с другого сайта в Интернете. Помните, что изображение должно быть общедоступным в Интернете . Если он находится на локальном компьютере, который не виден из любой точки Интернета, это не сработает.
•
Несколько важных предостережений: помните, что даже если вы добьетесь успеха, получатель все равно может не увидеть изображение или увидеть его там, где вы его разместили. Некоторые почтовые программы отображают встроенные изображения в виде вложений. Некоторые вообще не отображают их до тех пор, пока ваш получатель не попросит об этом — и обычно они этого не делают. (Из-за соображений конфиденциальности, связанных с удаленным просмотром изображений, многие люди не хотят включать просмотр изображений в электронной почте, если они не уверены, что это безопасно.) Убедитесь, что размер изображения подходит для электронного письма. Большие изображения приведут к тому, что электронное письмо будет отображаться странно и медленно. Потратьте время, чтобы изменить размер изображений, чтобы они соответствовали контексту письма. Подумайте, действительно ли это стоит хлопот. Как я уже упоминал ранее, электронная почта в виде обычного текста, даже с вложениями, часто предпочтительнее из-за возможности доставки и по другим причинам.
Сделайте это
Подпишитесь на Confident Computing! Меньше разочарований и больше уверенности, решения, ответы и советы в вашем почтовом ящике каждую неделю.
Увидимся там!
Опубликовано: 20 июня 2008 г. в: Управление электронной почтойКороткая ссылка: https://askleo.com/15241
Tagged: вложения электронной почты, изображение электронной почты