Может ли excel отправлять письма
Блог о программе Microsoft Excel: приемы, хитрости, секреты, трюки
Excel позволяет создавать диаграммы высокого качества, работать с огромным количеством данных, обрабатывать картинки, блок-схемы и многое другое. И даже если вам и этого не достаточно, можно использовать Excel для автоматической отправки писем с помощью встроенного VBA редактора.
Данная статья описывает три способа отправки писем с помощью VBA в Excel. Вы можете скачать файл с примером отправки email с помощью VBA в Excel.
Один из самых простых способов для автоматизации отправки почты с Excel заключается в вызове функции Create («ObjectOutlook.Application»). Данная функция возвращающает ссылку на ActiveX объект (в данном случает приложение Outlook), которое затем используется для создания и отправки электронной почты.
Чтобы проверить данный способ в работе, скопируйте и вставьте код ниже в VB редактор.
К счастью, существует еще два способа, с помощью которых данный вопрос может быть решен: первый – через использование CDO, второй – имитирующий использование событий нажатий клавиш клавиатуры.
12
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Обратите внимание, чтобы воспользоваться данным методом вам необходимо подключить библиотеку CDO в редакторе макросов Tool –> References.
Другой способ отправки email с помощью Excel – использование команды ShellExecute, которая выполняет любую программу в VBA. Команда ShellExecute используется для загрузки документа с соответствующей программой. По сути, вы создаете объект String (текстовые данные) и передаете его в качестве параметра для функции ShellExecute. Остальная часть операций выполняется в окнах. Автоматически определяется, какая программа связана с данным типом документа и используется для загрузки документа. Вы можете использовать функцию ShellExecute, чтобы открыть Internet Explorer, Word, Paint и множество других приложений. В коде ниже используется задержка в три секунды, чтобы убедиться, что отправляемое письмо корректно и для возможности предотвратить отправку, если вы вдруг нашли какие-нибудь недочеты.
Чтобы вместо простого текста в теле письма было отформатированное содержимое можно воспользоваться вместо SM.Body следующее:
Чтобы создать письмо с подписью, которая ставится по умолчанию, можно прибегнуть к следующему коду:
Ещё по теме
Тоже Windows 7, но такой ошибки не возникало. Поискал в Интернете, может поможет замена строк
Dim OutlookApp As Object, SM As Object Set OutlookApp = CreateObject("Outlook.Application")
на следующий код
Dim OutlookApp As Outlook.Application, SM As Object Set OutlookApp = New Outlook.Application
Если поможет, то, пожалуйста, отпишитесь:)
Доброго времени суток. Я в макросах полный ноль. Я понял что он отправляет целую книгу., а как сделать чтоб отправлял листы в книге( только так чтоб я прописывал название листов). Благодарю
У меня большая база в эксель. У меня естьмакрос который разбивает по городам. Как отправлять без темы письма и текста я знаю(нашел), но в данный момент надо чтоб были эти фунцкия. Вот есть города, мне надо каждый лист отправлять отдельно. Получается 35 листов и это надо делть 2-3 раза в день. Если надо могу пример скинуть. Помогите пожалуйста
Соответственно сохраняете листы в 35 файлов, затем 35 писем в которые эти файлы вкладываете. И отправляете. Может скинуть пример, по возможности посмотрю.
Шикарный код, спасибо
Отличный пример. VB не очень глубоко знаю, но здесь всё понятно!
Спасибо!
Здравствуйте, подскажите пожалуйста, как дописать этот код, что бы можно было указать учетную запись, с которой отправляются письма? (У пользователя 2 почтовика в луке, для определенной рассылки необходимо выбрать не основной)
Заранее благодарен.
Попробуйте использовать следующие параметры:
Это можно сделать с помощью параметра
Добрый день, а подскажите, пожалуйста, как дополнить макрос, чтобы он дополнительно в письме отправлял вложенный через гиперссылку файл?
Поясните, пожалуйста, точнее, что вы хотите: чтобы в письме была гиперссылка или чтобы какой-то файл по гиперссылке автоматически скачивался и вкладывался в письмо? Если первое, то нужно использовать HTMLBody и обычное оформление гиперссылки в HTML. Если второе, то это весьма нетривиальная задача, выходящая за рамки данной статьи.
Попробовал
SM.To = ActiveCell
но это работает только с одно выделенной ячейкой.
Попробуйте такой вариант:
У меня получилось добавить второго
А если не через оутлук отправлять.
Скажем, у пользователя почта на мэйле или гугле.
Как тогда?
Просто несколько раз повторите строку SM.Attachments.Add (FullFilePath) , вместо FullFilePath подставляя каждый раз путь к нужному файлу.
Всем привет!
Все замечательно!
Подскажите как прикрепить все файлы к письму находящиеся на сетевой в папке с указанным расширением .htm ; .pdf ; без него.
Спасибо.
Отправка электронных писем из Microsoft Excel требует всего несколько простых скриптов. Добавьте эту функциональность в свои электронные таблицы, и вы действительно сможете расширить свои возможности в Excel.
Мы рассмотрели множество отличных макросов Excel, которые могут выполнять те же функции, что и сценарии VBA, но без необходимости знания программирования. Но есть много продвинутых вещей, которые вы можете делать только с VBA, например, создание отчета в виде электронной таблицы со всей информацией о вашем ПК.
Предпочитаете смотреть этот урок как видео? Мы вас покроем!
Зачем отправлять электронную почту из Excel?
Вы, вероятно, думаете, что составление сценария трансляции электронной почты из Excel будет сложным. Это совсем не так.
В этой статье будет использована функция, которая долгое время была доступна в Excel VBA, объекты данных совместной работы (CDO).
Шаг 1. Создание макроса VBA
На вкладке «Разработчик» нажмите « Вставить» в поле «Элементы управления» и выберите командную кнопку.
Нарисуйте его на листе, а затем создайте для него новый макрос, нажав Макросы на ленте разработчика.
Когда вы нажмете кнопку « Создать» , откроется редактор VBA.
Добавьте ссылку на библиотеку CDO, перейдя в Инструменты > Ссылки в редакторе.
Прокрутите список вниз, пока не найдете Microsoft CDO для библиотеки Windows 2000 . Установите флажок и нажмите ОК .
Когда вы нажимаете OK , запишите имя функции, в которую вы вставляете скрипт. Вам это понадобится позже.
Шаг 2: Настройте поля «От» и «Кому» CDO
Для этого сначала нужно создать почтовые объекты и настроить все поля, необходимые для отправки электронного письма.
Имейте в виду, что хотя многие поля являются необязательными, поля От и До являются обязательными.
Шаг 3. Настройте CDO для использования внешнего SMTP
В следующем разделе кода вы сконфигурируете CDO для использования любого внешнего SMTP-сервера для отправки электронной почты.
Этот пример — не-SSL-настройка через Gmail. CDO поддерживает SSL, но это выходит за рамки этой статьи. Если вам нужно использовать SSL, этот расширенный код в Github может помочь.
Шаг 4: Завершите настройку CDO
Теперь, когда вы настроили соединение с SMTP-сервером для отправки электронной почты, все, что вам нужно сделать, это заполнить соответствующие поля для объекта CDO_Mail и выполнить команду Send .
Вот как вы это делаете:
Там не будет никаких всплывающих окон или предупреждений безопасности, что может произойти, если вы прибегаете к использованию почтового объекта Outlook.
Чтобы подключить вашу командную кнопку к этому сценарию, перейдите в редактор кода и нажмите « Лист1», чтобы просмотреть код VBA для этого листа.
Введите имя функции, куда вы вставили скрипт выше.
Продолжайте и автоматизируйте весь процесс
Это все хорошо, чтобы иметь возможность отправлять электронную почту из Excel одним нажатием кнопки. Однако вы можете использовать эту функцию на регулярной основе, и в этом случае имеет смысл автоматизировать процесс.
Для этого вам нужно внести изменения в макрос. Перейдите в редактор Visual Basic, скопируйте и вставьте весь код, который мы собрали.
Затем выберите ThisWorkbook из иерархии проекта .
В двух раскрывающихся полях вверху окна кода выберите « Рабочая книга» и выберите « Открыть» в раскрывающемся списке «Методы».
Вставьте скрипт электронной почты выше в Private Sub Workbook_Open () .
Это будет запускать макрос всякий раз, когда вы открываете файл Excel.
Затем откройте планировщик задач .
Вы собираетесь использовать этот инструмент, чтобы попросить Windows автоматически открывать электронную таблицу через регулярные промежутки времени, после чего ваш макрос будет инициирован, отправив электронное письмо.
Выберите « Создать базовую задачу» из меню « Действие» и работайте в мастере, пока не дойдете до экрана « Действие» .
Выберите « Запустить программу» и нажмите « Далее» .
Используйте кнопку « Обзор» , чтобы найти местоположение Microsoft Excel на вашем компьютере, или скопируйте и вставьте путь в поле « Программа / скрипт» .
Затем введите путь к документу Microsoft Excel в поле « Добавить аргументы» .
Завершите работу мастера, и ваше расписание будет на месте.
Стоит провести тест, запланировав действие пару минут в будущем, затем внесите поправки в задачу, как только вы подтвердите, что она работает.
Примечание . Возможно, вам придется настроить параметры центра управления безопасностью, чтобы обеспечить правильную работу макроса.
Для этого откройте электронную таблицу и выберите « Файл» > « Параметры» > « Центр управления безопасностью» .
Отсюда нажмите « Настройки центра управления безопасностью» , и на следующем экране установите переключатель « Никогда не показывать информацию о заблокированном контенте» .
Заставьте Microsoft Excel работать на вас
Microsoft Excel — невероятно мощный инструмент, но изучение того, как извлечь из него максимальную пользу, может быть немного пугающим. Если вы хотите по-настоящему освоить программное обеспечение, вам должно быть удобно с VBA , и это не маленькая задача.
Тем не менее, результаты говорят сами за себя. Имея небольшой опыт работы с VBA, вы скоро сможете заставить Microsoft Excel автоматически выполнять базовые задачи, предоставляя вам больше времени, чтобы сосредоточиться на более насущных вопросах.
Требуется время, чтобы приобрести опыт работы с VBA, но вы скоро увидите плоды своих трудов, если сможете их использовать.
Отличное место для начала — наш авторитетный учебник по использованию VBA в Excel Когда вы закончите с этим, этот простой скрипт для отправки электронных писем из Excel будет выглядеть как детская игра.
В Excel вы можете использовать функцию гиперссылки mailto для создания электронного письма из Excel. Электронное письмо, созданное с помощью гиперссылки mailto, включает адрес электронной почты получателя, тему и текст. В этой статье мы покажем вам, как отправлять электронную почту из Excel с помощью функции гиперссылки mailto.
В этом разделе я покажу вам, как напрямую создать гиперссылку mailto в Excel. Пожалуйста, сделайте следующее.
1. Во-первых, вам необходимо отдельно ввести адрес получателя, тему и тело письма в ячейки B1, B2 и B3. Смотрите скриншот.
2. Выберите пустую ячейку, в которой должна находиться гиперссылка mailto, например ячейка B4.
3. Скопируйте и вставьте функцию гиперссылки. = ГИПЕРССЫЛКА ("mailto:" & B1 & "? Subject =" & B2 & "& body =" & B3, "Текст ссылки") в панель формул выбранной ячейки, а затем нажмите Enter ключ.
С этого момента при щелчке гиперссылки mailto электронное письмо Outlook будет создано автоматически с указанным получателем, темой и телом. Смотрите скриншот:
Поскольку количество символов вышеупомянутого метода ограничено, здесь я представляю вам другой метод для создания гиперссылки mailto в Excel.
1. Выберите ячейку, в которой вы хотите создать гиперссылку mailto.
2. Нажмите Вставить > Гиперссылка. Смотрите скриншот:
3. в Вставить гиперссылку диалоговое окно, вам необходимо:
1). Нажмите лектронная почта в Ссылка на панель;
2). Введите адрес электронной почты получателя в поле Адрес электронной почты коробка;
Например, если тема письма - «тема письма», а тело письма - «тело письма», введите тема электронного письма и тело = тело письма в Тема пунктом.
4). Щелкните значок OK кнопка. Смотрите скриншот:
Затем создается гиперссылка mailto. Нажмите на нее, будет создано электронное письмо Outlook со всеми указанными адресами получателя, темой и телом.
Легко отправлять электронную почту через Outlook на основе созданного списка рассылки с помощью Kutools for Excel
Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.
1. Во-первых, вам необходимо создать нужный список рассылки в Excel. Нажмите Kutools Plus > Создать список рассылки. Смотрите скриншот:
2. в Создать список рассылки диалоговом окне, проверьте поля, которые необходимо включить в электронное письмо в обоих Столбцы для списка рассылки и Прикрепить файлы разделы. Укажите место для размещения созданного списка рассылки, а затем щелкните значок создать кнопка. Смотрите скриншот:
3. Теперь образец списка рассылки создан. Пожалуйста, заполните соответствующие поля необходимым содержанием, как показано на скриншоте ниже:
Если вы хотите получить 30-дневную бесплатную пробную версию этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Читайте также: