Макроc предназначен для автоматизированной рассылки почты из Excel.Для рассылки используется почтовая программа TheBAT!(подразумевается, что эта программа на компьютере установлена и настроена, т.е. без проблем удаётся вручную создать в TheBAT письмо, и отправить его на произвольный адрес) В качестве исходных данных выступает таблица Excel, в которой в первом столбце указаны адреса получателей рассылки, а в остальных столбцах - данные для формирования писем (тема, текст и т.д.) В прикреплённом примере макрос формирует тему письма из значения ячейки второго столбца ' формируем тему письма из 2-й ячейки строки Тема = "Информация для " & ro.Cells(2) & " от EducatedFool" а текст писем составляется из значений других ячеек (столбцы с 3 по 9)
Поскольку для программного формирования письма требуется, чтобы текст письма находился в отдельном текстовом файле, Эти файлы создаются в папке C:\WINDOWS\Temp (используется системная папка для временных файлов),
Отправка письма производится вызовом специальной функции ОтправитьПисьмоЧерезTheBat: ОтправитьПисьмоЧерезTheBat Адрес, Текст, Тема Код функции для отправки письма: Function ОтправитьПисьмоЧерезTheBat(ByVal Email As String, _ ByVal Текст As String, Optional ByVal Тема As String = "", _ Optional ByVal AttachFilename As String = "") As Boolean ' функция производит отправку письма с заданной темой и текстом на адрес Email ' с почтового ящика, настроенного в TheBAT для отправки писем "по-умолчанию" ' Если задан параметр AttachFilename, к отправляемому письму прикрепляется файл strTO = "TO=" & Chr(34) & Email & Chr(34) ' адрес получателя (можно указать список адресов) strSUBJECT = "SUBJECT=" & Chr(34) & Replace(Тема, """", "`") & Chr(34) ' тема сообщения Filename$ = Environ("temp") & "\mail." & Fix(Rnd() * 1E+15) ff = FreeFile: Open Filename$ For Output As #ff Print #ff, Текст: Close #ff ' пишем текст в файл ' текст сообщения (или путь к текстовому файлу с сообщением) strTEXT = "TEXT=" & Chr(34) & Filename$ & Chr(34) ' Chr(34) - это кавычка ' путь к прикреплённому файлу (можно прикрепить несколько файлов) If AttachFilename <> "" Then strATTACH = "ATTACH=" & Chr(34) & AttachFilename & Chr(34) TheBatPath = ПутьКФайлуПрограммыTheBAT: DoEvents Cmd$ = Chr(34) & TheBatPath & Chr(34) & " /MAIL;" & strTO & ";" & strSUBJECT & ";" & _ strTEXT & ";" & strATTACH & " /SENDALL; /MINIMIZE;" ' формируем командную строку CreateObject("WScript.Shell").Exec Cmd$ ' выполняем команду End Function
Ознакомьтесь также со способом отправки почты из Excel
|
| Вложение | Размер |
|---|---|
| TheBAT.xls | 40.5 КБ |
- 1665 просмотров



Комментарии
При создание письма The Bat закрывается автоматически
Отправить комментарий