Отправить письмо с листа с помощью VBA в Microsoft Excel
В этой статье мы создадим макрос для отправки листа в виде вложения в электронное письмо.
Перед запуском макроса нам нужно указать идентификатор электронной почты и тему письма.
В этом примере мы хотим отправить «Таблицу данных» в виде вложения в электронное письмо.
Логическое объяснение
Мы создали макрос «MailSheet», который берет идентификатор электронной почты и тему письма из текстовых полей. Он создает новую копию «Таблицы данных», сохраняет ее и отправляет как вложение.
Объяснение кода
Таблицы («Таблица данных»). Копировать Приведенный выше код используется для создания копии таблицы данных в новой книге.
ActiveWorkbook.SaveAs «Часть» & ThisWorkbook.Name _ & «» & StrDate & «.xls»
Приведенный выше код используется для сохранения новой книги.
ActiveWorkbook.SendMail EmailID, MailSubject Приведенный выше код используется для отправки активной книги в виде вложения к указанному идентификатору электронной почты с заданной темой.
ActiveWorkbook.Close False Приведенный выше код используется для закрытия активной книги без ее сохранения.
Пожалуйста, введите код ниже
Sub MailSheet() 'Declaring variables Dim StrDate, EmailID, MailSubject As String 'Getting value for Email ID and subject from textboxes EmailID = Sheet1.TextBox1.Value MailSubject = Sheet1.TextBox2.Value 'Copying "DataSheet" to new workbook Sheets("DataSheet").Copy 'Formatting date and time to particular format StrDate = Format(Date, "dd-mm-yy") & " " & Format(Time, "h-mm") 'Saving active workbook with new name ActiveWorkbook.SaveAs "Part of " & ThisWorkbook.Name _ & " " & StrDate & ".xls" 'Sending mail ActiveWorkbook.SendMail EmailID, MailSubject 'Close the active workbook ActiveWorkbook.Close False End Sub
Если вам понравился этот блог, поделитесь им с друзьями на Facebook и Facebook.
Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]