Note: The other languages of the website are Google-translated. Back to English

Как отправить электронное письмо через Outlook, когда книга сохранена в Excel?

В этой статье говорится об отправке электронной почты через Outlook, когда определенная книга сохраняется в Excel. Пожалуйста, сделайте так, как показано в руководстве.

Отправить электронное письмо через Outlook, когда книга сохранена с кодом VBA


Отправить электронное письмо через Outlook, когда книга сохранена с кодом VBA

Чтобы отправить электронное письмо через Outlook, когда книга сохранена в Excel, сделайте следующее.

1. Сначала сохраните книгу как книгу Excel с поддержкой макросов. Нажмите Файл > Сохранить как. В Сохранить как В диалоговом окне выберите папку для сохранения книги, назовите ее в поле Имя файла, выберите Excel Macro-Enabled Workbook из Сохранить как раскрывающийся список, а затем щелкните Сохраните кнопка. Смотрите скриншот:

2. Откройте книгу Excel с поддержкой макросов, которую вы только что сохранили, нажмите другой + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окно, пожалуйста, дважды щелкните Эта рабочая тетрадь на левой панели, затем скопируйте и вставьте приведенный ниже код VBA в Эта рабочая тетрадь окно кода. Смотрите скриншот:

Код VBA: отправка электронной почты при сохранении книги

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
'Updated by Extendoffice 20181102
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xName As String
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailItem = xOutApp.CreateItem(0)
    xName = ActiveWorkbook.FullName
    With xMailItem
        .To = "Email Address"
        .CC = ""
        .Subject = "The workbook has been saved"
        .Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
        .Attachments.Add xName
        .Display
       '.send
    End With
    Set xMailItem = Nothing
    Set xOutApp = Nothing
End Sub

Внимание: Пожалуйста, замените Ваш e-mail с адресом электронной почты получателя в строке .To = "Адрес электронной почты"и измените поля Cc, Subject и body в коде VBA по мере необходимости.

3. нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.

С этого момента, когда вы обновляете книгу и сохраняете ее, автоматически создается электронное письмо с прикрепленной обновленной книгой. Пожалуйста, нажмите на Отправить кнопку, чтобы отправить электронное письмо. Смотрите скриншот:

Внимание: Код VBA работает только при использовании Outlook в качестве почтовой программы.


Статьи по теме:


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (17)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Как автоматизировать уведомление по электронной почте в VBA на основе диапазона дат, не видя всплывающее окно для разрешения безопасности, позволяющего VBA отправлять электронное письмо.
Этот комментарий был сведен к минимуму модератором на сайте
Грасиас. Consulta: utilizando Esta Misma rutina, como podría enviar el correo a un correo específico dependiendo el valor de otra celda?
Этот комментарий был сведен к минимуму модератором на сайте
Уважаемые, я хотел бы спросить, как прикрепить функциональную ссылку к определенной папке на сервере, если я вставлю ссылку, она появится в книге так же, как обычный текст, и поэтому она не работает в полученном электронном письме, как я могу превратить его в ссылку, чтобы получатели могли щелкнуть по нему?
Я хотел бы использовать этот способ вместо отправки прилагаемого файла Excel.
Спасибо за советы
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Роберт,
Извините, я не могу помочь с этим, пожалуйста, задайте любой вопрос об Excel на нашем форуме: https://www.extendoffice.com/forum.html. Вы получите дополнительную поддержку Excel от наших профессионалов или других поклонников Excel.
Этот комментарий был сведен к минимуму модератором на сайте
Я поместил это в тело письма, и это сработало для меня...
"файл:///Z:\dir1\dir2\dir3\Test1.xlsm"
Этот комментарий был сведен к минимуму модератором на сайте
Привет, хорошая статья! Одна вещь, которую я пытался достичь с помощью этого, - это прикрепить текущее состояние книги к электронной почте.

На данный момент он отправляет только исходное состояние файла и не включает никаких изменений, которые мог бы внести пользователь.

Любые идеи о том, как реализовать это с помощью макроса?
Этот комментарий был сведен к минимуму модератором на сайте
Привет Крис,
Код обновлен, проблема решена, попробуйте. Спасибо за ваш комментарий.
Этот комментарий был сведен к минимуму модератором на сайте
Привет Крис,

Я случайно столкнулся с той же проблемой.
В настоящее время коды используются в модуле «до сохранения».
Это означает, что электронное письмо отправит электронную таблицу, которая была сохранена до этого.

Есть еще модуль "послесохранения".
Я применил код в этом модуле, и он сработал как шарм.
Этот комментарий был сведен к минимуму модератором на сайте
Как это будет обрабатываться для документа Office 365. Он автоматически сохраняется.
Этот комментарий был сведен к минимуму модератором на сайте
Есть ли способ автоматического шифрования электронной почты?
Этот комментарий был сведен к минимуму модератором на сайте
Привет Майк,
Извините, не могу помочь решить эту проблему. Спасибо за ваш комментарий.
Этот комментарий был сведен к минимуму модератором на сайте
Привет! Большое спасибо за это руководство :-) Я хотел бы сделать что-то еще в этом коде - отправить электронное письмо на основе стран. Это означает, что я должен создавать команды с помощью if и select. Верно? Я уже удалил вложение из электронной почты. Вместо этого я хотел бы добавить ссылку с путем в папку. Но при запуске макроса команда недействительна :-(
Я ценю каждую помощь, как добавить его туда.
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте. Как я могу включить данные ячейки в поле электронной почты «cc»?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Брент,
Предположим, вы хотите включить значение в ячейку a7 в поле электронной почты «cc», попробуйте приведенный ниже VBA.

Частная подпрограмма Workbook_AfterSave (успех ByVal как логическое значение)

'Обновлено Extendoffice 20200628

Dim xOutApp как объект

Dim xMailItem как объект

Dim xName как строка

On Error Resume Next

Установите xOutApp = CreateObject("Outlook.Application")

Установить xMailItem = xOutApp.CreateItem(0)

xName = ActiveWorkbook.ПолноеИмя

С xMailItem

.To = "Адрес электронной почты"

.CC = Диапазон ("a7"). Значение


.Subject = "Книга сохранена"

.Body = «Привет,» & Chr(13) & Chr(13) & «Файл обновлен».

.Attachments.Добавить xName

.Отображать

'.Отправить

Конец с

Установить xMailItem = Ничего

Установите xOutApp = Ничего

End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Уважаемые все, может кто-нибудь мне помочь, я новичок в кодировании VBA, я внес некоторые изменения, но как я могу отправить электронное письмо, если книга сохранена, и если имя пользователя отличается, например, если имя пользователя станция Glade2, то отправить письмо, если книга сохранена, иначе не отправлять.

Спасибо большое за вашу поддержку
Этот комментарий был сведен к минимуму модератором на сайте
Привет Флорин,
Не понял твоей мысли. Что означает ваше имя пользователя?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, кристалл, спасибо за ваш ответ, имя пользователя — это имя пользователя среды, и я сделал это, я использовал функцию if и вышел из подпрограммы.
Спасибо вам большое.
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL