Vba outlook mailitem методы
Теперь очередь за файлами с адресами и текстом письма. Вот здесь возник нюанс. Как вызвать диалог выбора файла? О жестком прописывании пути я не хочу и думать. Так что приходится что-то придумывать. Многими используемый вариант с Application.GetOpenFilename не пройдет, так как в Outlook нет такого метода. Использовать API пробовал. Вариант с «Private Declare PtrSafe Function GetOpenFileName Lib „comdlg32.dll“…» не сработал (PtrSafe из-за того, что система Win7, х64). Ошибок не выдавал, но при вызове ничего не появлялось. Решения в Интернете не нашел. Если кто подскажет решение – буду благодарен. Таким образом, пришлось пойти в обход с применением объекта Excel.Application.
А теперь и вложения. Тут я использовал динамический массив и возможность множественного выбора диалога.
Каждый раз я создавал и удалял объект fd из-за того, что это сделать проще, чем заниматься его чисткой перед последующим вызовом.
Для получения данных из текстовых файлов пришлось использовать пару дополнительных функций. Вызываются они таким образом:
С целью отладки я вставил такой код
'Контроль за данными
Как видно, он сейчас закомментирован, но позволяет понять где что лежит.
Теперь небольшая по размеру, но самая важная часть – генерация писем.
При желании, метод .Send можно заменить на .Save. Тогда созданные письма окажутся в папке «Черновики».
Здесь полный код модуля «как есть».
В данном примере реализована возможность отправки простых писем. Если необходимо расширить возможности, например сделать текст форматированным, то двигаться следует в направлении Outlook.MailItem > GetInspector > WordEditor. Это, мягко говоря, усложняет код, но позволит использовать в качестве источника текста письма форматированный документ Word.
Можно также добавить обработку «преднамеренного» отсутствия каких-либо составляющих письма. Например, реализовать отправку без темы, текста или вложений. Сейчас отказ от одного из этих элементов приведет к прерыванию процедуры.
Этот код, теоретически, должен работать также и в более ранних версиях Microsoft Office. Поменяется только ссылка на библиотеку Excel.
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Свойства
Возвращает Actions коллекцию, которая представляет все доступные действия для элемента. Только для чтения.
Возвращает Application объект, представляющий родительское приложение Outlook для объекта. Только для чтения.
Возвращает Attachments объект, который представляет все вложения для указанного элемента. Только для чтения.
Возвращает или задает OlBodyFormat константу, указывающую формат основного текста. Для чтения и записи.
Возвращает OlObjectClass константу, указывающую класс объекта. Только для чтения.
Возвращает Conflicts объект, представляющий конфликтующие элементы для любого объекта элемента Outlook. Только для чтения.
Возвращает значение типа DateTime , указывающее время создания элемента Outlook. Только для чтения.
Возвращает константу, принадлежащую OlDownloadState перечислению, указывающее состояние скачивания элемента. Только для чтения.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Возвращает или задает значение DateTime , указывающее дату и время, когда элемент становится недопустимым и может быть удален. Для чтения и записи.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Возвращает FormDescription объект, представляющий описание формы для указанного элемента Outlook. Только для чтения.
Возвращает Inspector объект, представляющий инспектор, инициализированный для размещения указанного элемента. Только для чтения.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Возвращает или задает OlImportance константу, показывающую относительный уровень важности для элемента Outlook. Для чтения и записи.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Возвращает ItemProperties коллекцию, которая представляет все стандартные и определяемые пользователем свойства, связанные с элементом Outlook. Только для чтения.
Возвращает значение типа DateTime , указывающее дату и время последнего изменения элемента Outlook. Только для чтения.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Возвращает или задает OlRemoteStatus константу, определяющую состояние элемента после его получения удаленным пользователем. Для чтения и записи.
Возвращает родительский объект указанного объекта. Только для чтения.
Задает или возвращает OlPermission константу, определяющую разрешения, которые будут иметь получатели для элемента электронной почты. Для чтения и записи.
Возвращает PropertyAccessor объект, который поддерживает создание, получение, настройку и удаление свойств родительского MailItem объекта. Только для чтения.
Возвращает значение типа DateTime , указывающее дату и время получения элемента. Только для чтения.
Возвращает Recipients коллекцию, которая представляет всех получателей элемента Outlook. Только для чтения.
Возвращает или задает значение DateTime , указывающее дату и время, когда напоминание должно выполняться для указанного элемента. Для чтения и записи.
Возвращает Recipients коллекцию, которая представляет все объекты получателей ответа для элемента Outlook. Только для чтения.
Возвращает или задает массив байтов, представляющий текст элемента Microsoft Outlook в формате RTF. Для чтения и записи.
Возвращает или задает константу в OlSensitivity перечислении, указывающую чувствительность элемента Outlook. Для чтения и записи.
Возвращает значение типа DateTime , указывающее дату и время отправки элемента Outlook. Только для чтения.
Возвращает NameSpace объект для текущего сеанса. Только для чтения.
Возвращает или задает значение DateTime , представляющее дату завершения задачи для этого MailItem. Для чтения и записи.
Возвращает или задает значение DateTime , представляющее дату выполнения задачи для этого MailItemэлемента. Для чтения и записи.
Возвращает или задает значение DateTime , представляющее дату начала задачи для этого MailItem объекта. Для чтения и записи.
Возвращает или задает значение DateTime , представляющее порядковое значение задачи для MailItem. Для чтения и записи.
Возвращает UserProperties коллекцию, которая представляет все свойства пользователя для элемента Outlook. Только для чтения.
Методы
Добавляет контактную информацию на основе электронной визитной карточки (EBC), связанной с указанным ContactItem объектом, в MailItem объект.
Очищает MailItem объект как задачу.
Закрывается и при необходимости сохраняет изменения элемента Outlook.
Создает еще один экземпляр объекта.
Удаляет элемент из папки, содержащей элемент.
Отображает новый Inspector объект для элемента.
Выполняет действие Forward для элемента и возвращает полученную копию в виде MailItem объекта.
Получает Conversation объект, представляющий беседу, к которой принадлежит данный элемент.
Помечает MailItem объект как задачу и назначает интервал задач для объекта.
Перемещает элемент Microsoft Outlook в новую папку.
Печатает элемент Outlook, используя все параметры по умолчанию. Метод PrintOut — это единственный метод Outlook, который можно использовать для печати.
Сохраняет элемент Outlook в текущей папке или, если это новый элемент, в папку Outlook по умолчанию для типа элемента.
Сохраняет элемент Microsoft Outlook в указанном пути и в формате указанного типа файлов. Если тип файла не указан, используется формат MSG (MSG).
Отображает диалоговое окно Показать категории, которое позволяет выбрать категории, соответствующие теме элемента.
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Комментарии
Свойства
Возвращает Actions коллекцию, которая представляет все доступные действия для элемента. Только для чтения.
Возвращает Application объект, представляющий родительское приложение Outlook для объекта. Только для чтения.
Возвращает Attachments объект, который представляет все вложения для указанного элемента. Только для чтения.
Возвращает или задает OlBodyFormat константу, указывающую формат основного текста. Для чтения и записи.
Возвращает OlObjectClass константу, указывающую класс объекта. Только для чтения.
Возвращает Conflicts объект, представляющий конфликтующие элементы для любого объекта элемента Outlook. Только для чтения.
Возвращает значение типа DateTime , указывающее время создания элемента Outlook. Только для чтения.
Возвращает константу, принадлежащую OlDownloadState перечислению, указывающее состояние скачивания элемента. Только для чтения.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Возвращает или задает значение DateTime , указывающее дату и время, когда элемент становится недопустимым и может быть удален. Для чтения и записи.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Возвращает FormDescription объект, представляющий описание формы для указанного элемента Outlook. Только для чтения.
Возвращает Inspector объект, представляющий инспектор, инициализированный для размещения указанного элемента. Только для чтения.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Возвращает или задает OlImportance константу, показывающую относительный уровень важности для элемента Outlook. Для чтения и записи.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Возвращает ItemProperties коллекцию, которая представляет все стандартные и определяемые пользователем свойства, связанные с элементом Outlook. Только для чтения.
Возвращает значение типа DateTime , указывающее дату и время последнего изменения элемента Outlook. Только для чтения.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Этот объект, элемент или перечисление устарели и не предназначены для использования в коде.
Возвращает или задает OlRemoteStatus константу, определяющую состояние элемента после его получения удаленным пользователем. Для чтения и записи.
Возвращает родительский объект указанного объекта. Только для чтения.
Задает или возвращает OlPermission константу, определяющую разрешения, которые будут иметь получатели для элемента электронной почты. Для чтения и записи.
Возвращает PropertyAccessor объект, который поддерживает создание, получение, настройку и удаление свойств родительского MailItem объекта. Только для чтения.
Возвращает значение типа DateTime , указывающее дату и время получения элемента. Только для чтения.
Возвращает Recipients коллекцию, которая представляет всех получателей элемента Outlook. Только для чтения.
Возвращает или задает значение DateTime , указывающее дату и время, когда напоминание должно выполняться для указанного элемента. Для чтения и записи.
Возвращает Recipients коллекцию, которая представляет все объекты получателей ответа для элемента Outlook. Только для чтения.
Возвращает или задает массив байтов, представляющий текст элемента Microsoft Outlook в формате RTF. Для чтения и записи.
Возвращает или задает константу в OlSensitivity перечислении, указывающую чувствительность элемента Outlook. Для чтения и записи.
Возвращает значение типа DateTime , указывающее дату и время отправки элемента Outlook. Только для чтения.
Возвращает NameSpace объект для текущего сеанса. Только для чтения.
Возвращает или задает значение DateTime , представляющее дату завершения задачи для этого MailItem. Для чтения и записи.
Возвращает или задает значение DateTime , представляющее дату выполнения задачи для этого MailItemэлемента. Для чтения и записи.
Возвращает или задает значение DateTime , представляющее дату начала задачи для этого MailItem объекта. Для чтения и записи.
Возвращает или задает значение DateTime , представляющее порядковое значение задачи для MailItem. Для чтения и записи.
Возвращает UserProperties коллекцию, которая представляет все свойства пользователя для элемента Outlook. Только для чтения.
Методы
Добавляет контактную информацию на основе электронной визитной карточки (EBC), связанной с указанным ContactItem объектом, в MailItem объект.
Очищает MailItem объект как задачу.
Закрывается и при необходимости сохраняет изменения элемента Outlook.
Создает еще один экземпляр объекта.
Удаляет элемент из папки, содержащей элемент.
Отображает новый Inspector объект для элемента.
Получает Conversation объект, представляющий беседу, к которой принадлежит данный элемент.
Помечает MailItem объект как задачу и назначает интервал задач для объекта.
Перемещает элемент Microsoft Outlook в новую папку.
Печатает элемент Outlook, используя все параметры по умолчанию. Метод PrintOut — это единственный метод Outlook, который можно использовать для печати.
Сохраняет элемент Outlook в текущей папке или, если это новый элемент, в папку Outlook по умолчанию для типа элемента.
Сохраняет элемент Microsoft Outlook в указанном пути и в формате указанного типа файлов. Если тип файла не указан, используется формат MSG (MSG).
Отображает диалоговое окно Показать категории, которое позволяет выбрать категории, соответствующие теме элемента.
События
Возникает после сохранения элемента в Microsoft Outlook.
Возникает при добавлении вложения в экземпляр родительского объекта.
Происходит, когда вложение в экземпляре родительского объекта было открыто для чтения.
Происходит, когда вложение было удалено из экземпляра родительского объекта.
Возникает перед добавлением вложения в экземпляр родительского объекта.
Возникает перед предварительным просмотром вложения, связанного с экземпляром родительского объекта.
Возникает перед тем, как вложение, связанное с экземпляром родительского объекта, считывается из файловой системы, потока вложений или Attachment объекта.
Происходит непосредственно перед сохранением вложения.
Возникает, прежде чем вложение, связанное с экземпляром родительского объекта, записывается во временный файл.
Происходит перед автоматическим сохранением элемента в Outlook.
Происходит непосредственно перед тем, как Microsoft Outlook начинает разрешать имена в коллекции получателей для элемента (экземпляр родительского объекта).
Возникает перед удалением элемента (который является экземпляром родительского объекта).
Возникает перед тем, как Microsoft Outlook начинает чтение свойств элемента.
Возникает, когда закрывается инспектор, связанный с элементом (экземпляром родительского объекта).
Возникает при выполнении настраиваемого действия элемента (который является экземпляром родительского объекта).
Возникает при изменении настраиваемого свойства элемента (который является экземпляром родительского объекта).
Происходит, когда пользователь выбирает действие Forward для элемента (экземпляр родительского объекта).
Возникает при открытии экземпляра родительского объекта в файле Inspector.
Возникает, когда изменяется явное встроенное свойство экземпляра родительского объекта.
Возникает при открытии экземпляра родительского объекта для редактирования пользователем.
Происходит, когда Outlook завершает чтение свойств элемента.
Происходит, когда пользователь выбирает действие ответа для элемента (экземпляр родительского объекта).
Происходит, когда пользователь выбирает действие ReplyAll для элемента (экземпляр родительского объекта).
Происходит, когда пользователь выбирает действие Send для элемента (экземпляр родительского объекта).
Возникает перед выгрузкой элемента Outlook из памяти программным путем или путем действия пользователя.
Происходит, когда экземпляр родительского объекта сохраняется явно или неявно (например, в ответ на запрос при закрытии инспектора элемента).
Данный материал является переводом оригинальной статьи "EasyTweaks : How to write useful macros in Outlook 2016 and 2019 messages".
В Microsoft Office мы используем возможности Visual Basic for Application (VBA) для создания пользовательских программ, которые расширяют базовую функциональность Office и помогают экономить время за счет автоматизации повторяющихся задач. Мы называем эти небольшие программы VBA-макросами.
В этом руководстве мы хотели бы представить примеры разработки макросов для Outlook. Мы сосредоточимся на изучении основ Outlook VBA для начинающих, научимся создавать простые макросы и рассмотрим некоторые полезные идеи использования макросов. После изучения этого руководства вы сможете разрабатывать и запускать простые макросы VBA для Outlook.
- Сначала основы: мы узнаем, как вставить и сохранить простой настраиваемый макрос VBA в активный сеанс Outlook.
- Затем мы настроим среду разработки макросов.
- Мы рассмотрим самые простые примеры Outlook VBA. Это поможет вам понять основы разработки макросов и позволит писать простые макросы.
- Затем мы определим ярлык для нашего макроса на панели быстрого доступа. Это позволит нам легко запускать макрос.
- И закончим, включив макросы Outlook и обработав их настройки безопасности, чтобы гарантировать, что код действительно будет запускаться при появлении запроса на наших компьютерах.
Можно ли записать макрос в Outlook?
В отличие от других приложений Office, Outlook не предлагает простого Macro recorder для захвата действий пользователя и автогенерации создаваемого кода VBA в фоне. Поэтому, если мы хотим добавить в Outlook свои собственные функции, нам нужно научиться писать простые программы VBA и включать их в сеанс Outlook.
Если вам интересно узнать, как на самом деле работает средство записи макросов Office, рекомендуем изучить MS Word Macros и Excel VBA Macro tutorials.
Написание макроса VBA в Outlook
- Прежде всего откройте Microsoft Outlook.
- Теперь нажмите Alt + F11.
- Откроется интегрированная среда разработки (IDE) разработчика VBA.
- Разверните дерево проекта до узла ThisOutlookSession.
- Щелкните правой кнопкой мыши ThisOutlookSession и нажмите "Вставить".
- Теперь вы вставите модуль Visual Basic. Для этого выберите Module.
- Вставьте свой код VBA в окно модуля.
- Нажмите "File", затем выберите "Save".
- Далее, закройте среду разработчика. Это вернет вас в пользовательский интерфейс Outlook.
Прочтите несколько простых примеров кода, которые помогут вам начать работу с VBA. Никогда неосознанно не копируйте код VBA из неизвестных ресурсов!
Как настроить вкладку разработчика в Outlook?
Если вы часто разрабатываете макросы Outlook, вы можете настроить среду разработки Office. Звучит фантастически, не правда ли? На самом деле это довольно простая процедура. Читайте подробности:
Откройте Outlook, правой кнопкой мыши щелкните на верхней части Ленты (Ribbon) и выберите Customize the Ribbon.
Отметьте пункт Developer и нажмите OK.
Теперь вы найдете меню Developer на Ленте.
Полезные примеры Outlook VBA
Вы можете использовать предопределенные шаблоны Outlook при определении новых писем с помощью VBA. Для этого вам нужно использовать метод CreateItemFromTemplate и указать расположение файла шаблона Outlook (*.oft).
Отправка электронного письма программно
Если вы хотите, чтобы Outlook отправлял только что созданное электронное письмо автоматически, вы можете добавить следующую строку в код, опубликованный выше. Вставьте следующую строку прямо перед оператором End Sub предыдущего фрагмента:
Прикрепление файла к электронному письму
Во многих случаях вы хотели бы автоматизировать отправку электронного письма с прикрепленным к нему файлом. Это может быть документ Word, электронная таблица Excel, презентация PowerPoint, документы PDF и т.д.
Убедитесь, что вы указали правильный путь и имя файла вложения во фрагменте.
В этом примере установлены несколько получателей для электронного письма, при необходимости измените настройки.
Создание задачи через VBA
Следующий фрагмент кода создает задачу Outlook, назначает ее другому лицу и устанавливает тему задачи и основной текст.
Сохранение в формате HTML
Вопросы по макросам Outlook
Где в Outlook хранятся макросы?
Вы можете не знать, где именно хранится используемый вами макрос. В отличие от, например, Excel, который позволяет хранить макросы в файле personal.xlb или в определенных электронных таблицах, все макросы Microsoft Outlook хранятся в одном глобальном файле, который называется VBAProject.otm . Файл можно найти по адресу:
Кнопка быстрого доступа для макросов Outlook
Наш следующий шаг - вставить небольшую кнопку быстрого доступа, которая позволит нам легко запустить макрос. Для простоты вставим эту кнопку на панель быстрого доступа.
Откройте Microsoft Outlook, если ещё не открыли.
Щёлкните правой кнопкой мыши на Ленте Outlook и выберите пункт Customize the Quick Access Toolbar.
Примечание: Аналогичную процедуру можно использовать для размещения значка на самой ленте, а не на панели быстрого доступа.
Нажмите Choose commands from комбо-бокс и выберите Macros.
Выберите макрос, который вы создали и нажмите Add.
Нажмите Modify для выбора иконки для вашей кнопки Панели Быстрого Доступа.
По завершении, нажмите OK.
Как разрешить выполнение макросов в Outlook?
Сперва, нужно разрешить Outlook запускать наш макрос VBA. По умолчанию Microsoft Office отключает макросы и не разрешает их выполнение. Поэтому нам нужно будет определить надлежащую безопасность макросов, чтобы разрешить запуск вашего настраиваемого макроса Outlook.
В Outlook 2016/2019, щелкните Developer на Ленте и выберите Macro security.
Выберите Настройки безопасности макросов.
После настройки безопасности макросов, нажмите OK.
Ваши текущие настройки безопасности могут препятствовать запуску макросов в Outlook. Вот руководство о том, как действовать, если макросы отключены в вашем проекте Макросов Outlook.
Как использовать макрос Outlook?
И последнее, но не менее важное: теперь пора запустить только что созданный макрос.
Перейдите на панель быстрого доступа (верхняя левая часть экрана - немного выше основного меню).
Нажмите значок, который вы назначили для своего макроса.
Вуаля, вы только что завершили и запустили свой (первый) макрос Outlook VBA!
We work on lots & lots of Excel files on a daily basis and we send to many users on a daily basis. We write the same Message in the email daily and send that excel file. This gives us the scope of the automation of this task. You heard it right. This task of writing an email and sending the file can be automated with the help of VBA. The reason is that VBA can use a reference with different Microsoft Objects like outlook, word, PowerPoint, paint, etc.
So we can send the email with the help of VBA. Now I am sure you all will be excited to know how we can send an email with the help of VBA.
Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.
We will learn in this article on how to use the Outlook as Microsoft object from excel using VBA coding and how we can send an email including an attachment with the help of VBA.
How to Use Excel VBA Outlook Function?
To use VBA Outlook function, we need to do two things.
- Reference Microsoft Outlook Object from Object Library in VBA.
- Write VBA code to send emails in the VBA module.
As you know Outlook is an object and we need to provide a reference to Outlook object. So there is an Object reference library in VBA which we need to use for reference.
Follow the below steps to use the Object Reference Library.
VBA Training (3 Courses, 12+ Projects) 3 Online Courses | 13 Hands-on Projects | 45+ Hours | Verifiable Certificate of Completion | Lifetime Access
4.7 (10,620 ratings)
Step 1: In the Developer Tab click on Visual Basic to open the VB Editor.
Step 2: Go to Tools and then select References as shown in the below screenshot.
Step 3: Scroll down in the Reference Object library and select “Microsoft Outlook 16.0 Object Library” to make it available for Excel VBA.
Depending on the Microsoft office, the Outlook version may be different. In our case, it is 16.0. You can use “Microsoft Outlook 14.0 Object Library” if that is the version shown in your computer.
Check the box of Microsoft Outlook as shown in the above screenshot. Now we can use the Microsoft Outlook object in Excel VBA.
This process of setting the reference to “MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY” is known as Early Binding. Without setting the object library as “MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY” we cannot use the IntelliSense properties and methods of VBA which makes writing the code difficult.
Follow the below steps to write the VBA code to send email from outlook from Excel.
Step 1: Create a Sub Procedure by naming the macro. We will name macro as “send_email” as shown in the below screenshot.
Code:
Step 2: Define the variable as Outlook. Application as shown in the below screenshot. This is the reference to the VBA Outlook Application.
Code:
Step 3: We need to send an email in Outlook so define another variable as “Outlook.Mailitem” as shown in the below screenshot.
Code:
Step 4: In the previous steps we have defined the variable now we need to set them.
Now set the first variable “Outlook Application” as “New Outlook.Application” as shown in the below screenshot.
Code:
Step 5: Now set the Second Variable “Outlook Mail” with the below code.
Code:
Step 6: We can now use the VBA Outlook using the “With” statement as shown in the below screenshot.
Code:
We now have all the access to Email items like “To”, “CC”, “BCC”, “subject”, ” Body of the email” and Many more items.
Step 7: Inside the “With” statement, we can see a list by putting a dot which is known as “Intellisense List”.
Step 8: First select the body format as olFormatHtml as shown in the below screenshot.
Code:
Step 9: Select “.Display” to display the mail as shown in the below screenshot.
Code:
Step 10: Select “.HTMLbody” to write the email as shown in the below screenshot.
Code:
We need to remember a few things while writing the email in VBA code.
“
” is used to include line breakup between two lines. To add signature in the email, you need to enter “& .HTMLbody”
See below example on how to write the mail in VBA.
Code:
Step 11: Now we need to add the receiver of the email. For this, you need to use “.To”.
Code:
Step 12: If you want to add someone in “CC” & “BCC”, you can use “.CC” and “.BCC” as shown in the below screenshot.
Code:
Step 13: To add a subject for the email that we are sending, we can use “.Subject” as shown in the below screenshot.
Code:
Step 14: We can add our current workbook as an attachment in the email with the help of “.Attachment” Property. To do that first declare a variable Source as a string.
Code:
Then use the following code to attach the file in the email.
Code:
Here ThisWorkbook is used for the current workbook and .FullName is used to get the full name of the worksheet.
Step 15: Now the last code is to finally send the email for which we can use “.send”. But make sure to close the With and Sub procedure by “End with” and “End Sub” as shown in the below screenshot.
So the code is finally ready to send an email. We need to just run the macro now.
Step 16: Run the code by hitting F5 or Run button and see the output.
Final Full code
So below is the final code on how to send an email with the help of VBA Outlook.
Code:
Example of VBA Outlook Function
Suppose there is a Team Leader and he wants to send a daily email for follow up of each member’s activity. The email will be like this.
“Hi Team,
Request you to kindly share your actions on each of your follow up items by 11 AM today.
Thanks & Regards,
Unknown
Follow the steps mentioned above for referencing the Microsoft Object and writing the VBA coding or you can just modify the code accordingly.
So with all the code remaining same, we need to change few things in the code be like Email ID of the receiver, Subject, Body of the email and there will be no attachment in the email.
Below is the modified code we are using to write this email.
Code:
After running the macro, you will see the mail has been sent automatically from your outlook.
Things to Remember
- First, make sure you have installed Microsoft Outlook in your computer and you have login into your account.
- Make sure that the box for Microsoft Outlook in Object Library reference is always checked. The code will not run and throw an error if it is not checked.
- Defining variables and setting variables in very important in VBA coding. Without Variables, a code will not work.
- Make sure that if you want to add signature in the mail, first you should have at least one signature already created in outlook.
- Always use “
” to enter line gaps in the mail.
Recommended Articles
This is a guide to VBA Outlook. Here we discuss how to send emails from Outlook using VBA codes in excel along with an example and downloadable excel template. Below are some useful excel articles related to VBA –
Читайте также: