Изпращане на писма от Excel с помощта на програмата за електронна поща TheBAT!

Ако трябва да изпратите имейли от Excel,
използвайте готово решение под формата на добавката FillDocuments

Macro е предназначен за автоматизирана поща от Excel.

Пощенската програма TheBAT се използва за изпращане по пощата!

В приложения пример макросът формира тема от стойността на клетката на втората колона

а текстът на буквите е съставен от стойностите на други клетки (колони 3 до 9)

макросите

Тъй като програмното формиране на писмото изисква текстът на писмото да бъде в отделен текстов файл,
предварително макросът записва текста на писмото във временен файл

Тези файлове се създават в папката C: \ WINDOWS \ Temp (използва системната папка за временни файлове),
файловете се именуват като поща.207561135292053, където 207561135292053 е произволно число:

имейли

Писмото се изпраща чрез извикване на специална функция Изпратете имейл чрез TheBat:

Функционален код за изпращане на писмо:

Вижте също как да изпращате поща от Excel
без да използвате пощенски програми

Ранни версии на TheBAT! по някаква причина не изпратиха писма веднага.

Ако използвате древна версия на тази поща (забелязах този ефект върху версията 1.54),
след това след завършване на формирането на всички букви, стартирайте следния макрос:

Ако искате да знаете, от коя от конфигурираните пощенски кутии TheBAT! ще изпрати поща,
възможно е да заредите тези данни от програмните настройки в системния регистър на Windows:

Коментари

Благодаря за макроса.
И за да може старият Bat да изпраща и да не се затваря, ви е необходим параметърът/SEND *.
След пауза, да.

Извинете, всичко беше в кавички (Chr (34))

Прекрасен макрос!
Един проблем - ако има място или в темата, или в пътя на файла, тогава редовете са съкратени до него. Съответно темата е от една дума и файлът не се намира.
Моля, кажете ми как да разреша проблема? Прилеп 5.0.36.2, Win7, Office 2010

Малко вероятно е да работи за преносимата версия - може да няма (и най-вероятно няма) възможности за програмно управление на пощата.
Така че засега само Outlook и стандартният TheBAT от опциите за изпращане на писма с макрос (на сайта има и макрос за изпращане на писма без пощенски програми, използвайки CDO)

Здравей, Ярослав.
Точно както при ръчното вмъкване е много трудно, т.к. няма начин да стигнете до функциите за поставяне от клипборда в тялото на писмото, няма начин да стигнете до TheBAT (и писането на макрос, имитиращ действия на потребителя - щракването върху бутоните на интерфейса TheBAT не е добро идея)

Но можете да направите нещо много подобно.
За да направите това, трябва да създадете шаблон за писмо в HTML формат и в средата на шаблона да вмъкнете HTML кода на таблицата [a1: b10]

Имам няколко макроса на сайта си, които ще генерират HTML код за набор от клетки (изберете някоя от 2 опции и се сприятелявайте с макроса за изпращане на имейли)
http://excelvba.ru/code/ExportHTML
http://excelvba.ru/programmes/ExportHTML

Благодаря за страхотния макрос.
Работи добре - единственият въпрос е как можете да вмъкнете в тялото на писмото не просто обикновен текст, а таблица от Excel (не прикачвайте файл, а именно малка таблица), например от диапазона [a1: b10 ]. досега съм мислил просто да обединя текста, както във вашия пример, но бих искал таблицата със запазване на форматирането, както при ръчно вмъкване.

Благодаря за кода. Интересно и много полезно. Единственото нещо, което трябва да бъде променено в кода, така че след изпращане на МИШКАТА да остане активно (затваря се)

Print #ff, Text: Затворете #ff 'напишете текст във файл

функцията оставя празен ред в края в txt файла
тези. ако сме написали "123" във файла, получаваме "123" или "123" при зареждане & vbNewLine

Влад, или в настройките на програмата активирайте опцията "минимизиране на програмата вместо затваряне",
или премахнете параметъра/MINIMIZE в кода;
PS: Не съм го тествал. но всичко отива при мен и нищо не се затваря.

Помогне! =)) Страхотна функция! дълго търсено. Но някак си го настроих. прикрепете това, от което се нуждаете. НО, след като изпрати писма, НДНТ се затваря - което е абсолютно неудобно. Помогнете със съвет! Не е удобно да отваряте програмата през цялото време след това.

TheBatPath = ProgramFilePathTheBAT: DoEvents
Cmd $ = Chr (34) & TheBatPath & Chr (34) & "/MAIL;TEMPLATE="C:\Users\WWW\Desktop\123.txt" ";" & strTO & ";" & strSUBJECT & ";" & _
strTEXT & ";" & strATTACH & ";" & strATTACH1 & "/ МИНИМИЗИРАНЕ;"
--- --- ---
Остава само това, за което е бил необходим шаблонът - за да научите как да прикачите снимка с дисплея в писмения тест. Някой има ли някакви мисли как това може да се приложи?

Много голяма заявка, моля дайте пример с шаблон (ако не го запиша - резултатът е същият, празен шаблон в изходящия) и с изпращане на няколко файла (само последният е прикачен, където и да е целият списък е написан), може би гранатите на грешната система? (офис 2007 стандарт) или кутията в уплътнението между монитора и клавиатурата.

Опитах с шаблони - не се получи.
TheBAT очаква пълния път до файла на шаблона като стойност за параметъра TEMPLATE
Тези. можете да създадете шаблон на писмо в отделен текстов файл - той ще бъде вмъкнат преди текста на писмото (т.е. самият текст на писмото ще бъде добавен СЛЕД целия текст на шаблона - т.е. резултатът съвсем не е това, което очакваме)

Едно нещо, което не разбирам, е защо трябва да измисляте тези шаблони?
В макроса можете да добавите няколко реда, като добавите заглавка преди текста на писмото, а след това - долния колонтитул на буквата:

Много е лесно да се направи:; ATTACH = D: \ File1.mhtml; ATTACH = D: \ File2.mhtml
това е да прикачите няколко файла към писмото (EvgeniuXP).

Накратко, за всеки файл трябва да добавите отделен ATTACH към командния ред

Но тъй като дължината на командния ред е ограничена, възможно е (и се препоръчва) да се направи същото с текста на писмото:
напишете списъка с прикачени файлове в текстов файл (по един пътен път към файла на ред) и в параметъра ATTACH задайте пътя към този текстов файл.

Мога да го направя - но само по поръчка (не безплатно)
Направете поръчка, прикачете примерни файлове и опишете какво и как трябва да работи.

Кирил, най-вероятно сте посочили неправилно името или пътя към шаблона.
Името на шаблона трябва да бъде затворено в кавички. В кода кавичките трябва да бъдат дублирани.
Например, ако шаблонът се нарича My Template,
тогава кодът трябва да бъде нещо подобно:

Здравей Кирил.
На теория TheBAT трябва да използва персонализиран шаблон от настройките на пощенската кутия.
Но всъщност се създава „голо“ писмо.

За параметрите на командния ред на TheBAT информацията е достъпна тук: http://www.nobat.ru/cmd_intro.html

Синтаксисът на командата/MAIL е:
/ MAIL: [параметър1 [; параметър2 [; параметър3 [. ]]]

Възможни параметри:

Заключение: трябва да добавите нещо подобно ШАБЛОН = Име на шаблон;

Не съм го опитвал, така че не мога да дам готово решение. Проверете - би трябвало да работи.