02.09.2026
Игорь
09.02.2013 03:15:22
Если через TheBAT! отправлять - то зачем было изобретать велосипед,
код для отправки писем ведь давно написан и опубликован:
http://excelvba.ru/code/TheBAT
Родитель Ссылка
Сергей
07.10.2012 11:29:34
Привет подскажите как прописать макрос для отправки письма по скрытой копией.
Ссылка
Николай Павлов
07.10.2012 11:33:41
Добавьте после строки
.To = Range("A1").Value
.Cc = Range("A1").Value 'простая копия .Bcc = Range("A1").Value 'скрытая копия

:)

и будет вам счастье

07.10.2012 12:30:41

Добрый день! Подскажите пожалуйста хотя бы примерный текст макроса для отправки данных через Lotus Notes.
Заранее большое спасибо.

07.10.2012 12:32:44

Подскажите, если в Outlook-е несколько учетных записей, как отправить мэйл с другой, не основной учетной записи Outlook-а?

07.10.2012 12:34:57
Перед Send вставить строку:

Set .SendUsingAccount = .Session.Accounts.Item("Hotmail")

где Hotmail - название требуемой учетной записи в вашем Outlook-е
30.01.2013 16:56:20

Скажите , можно ли вместо номера аккаунта или имени учетной записи ("Hotmail"), подставить ячейку в екселе где будет тот же номер или имя учетной записи ?

что-то типо вот этого.

Set .SendUsingAccount = .Session.Accounts.Item(Range("A15").Value)

07.10.2012 12:35:59
Как отправить файл по эл.почте(Outlook)если база состоит из 10 клиентов т.е у каждого свой эл.адрес.
07.10.2012 12:39:39

Я для этого в свое время писал специальный макрос с диалогом. Посмотрите в PLEX функцию почтовой рассылки.

07.10.2012 12:37:08

Генерирую и отправляю сообщения, третьим способом.
Но так и не разобрался, как в body сделать перенос на новую строку? пока получается все сплошным текстом.

07.10.2012 12:37:57

.Body = "Строка 1" & vbNewLine & _ "Строка 2" & vbNewLine & _ "Строка 3" & vbNewLine & _ "Строка 4" & vbNewLine & _ "Строка 5".

24.12.2012 19:13:51

Как избавится от надоедливой таблички с РАЗРЕШИТЬ/ЗАПРЕТИТЬ?
Антивирь стоит, безопасность макросов низкая.
excel 2010, win7x64
уже всё пересмотрел, но найти где отключается не смог.

16.01.2013 16:55:55
Надо отключить оповещения строкой:
Application.DisplayAlerts = False

16.01.2013 18:38:57
это я знаю и это есть, но не помогает.
20.01.2013 19:36:22

Попробуйте в Outlook: Файл- Параметры-Центр управления безопасностью-Параметры центра упр безопасностью - Программный доступ - Никогда не предупреждать о подозрительной активности.

21.01.2013 11:31:25

Проверил, но это уже было сделано.

Выходит что реально никак, в аутлуке все предупреждения отключены, в екселе тоже. В макросе Application.DisplayAlerts = False. Антивирусник установлен (поскольку читал о том что если нет антивиря тоже влияет). Что ему еще не хватает для самостоятельной рассылки, не понимаю)))

24.01.2013 14:41:08

;)

Пришлите посмотреть на daddyd@mail.ru. Интересно, может, и мне когда понадобится .

10.07.2013 17:05:58

Это внутренняя защита Microsoft от рассылки спама. Она не отключается. Но можно обойти средствами API. Основано на программном поиске на экране окна сформированного сообщения, поиске в окне сообщения кнопки Отправить и ее нажатии. На форуме это обсуждалось, примеры приводились Поищите.

22.05.2013 10:15:42

Николай, подскажи пожалуйста как добавить строку для гиперссылки.
Чтоб при отправке в письме указывалась гиперссылка.

26.05.2013 09:44:51

Сергей, для создания ссылки можно использовать стандартный тег ссылки из HTML. Выглядит примерно так:

14.06.2013 16:09:06
Николай, подскажите как сделать гиперссылку для сетевого ресурса, к примеру \\fileserver\документы\
01.06.2013 11:05:39

Думаю, тут уместно будет написать пример работающего кода :

Sub Create_Mail() Dim objOutApp As Object, objMail As Object Set objOutApp = CreateObject("Outlook.Application") Set objMail = objOutApp.CreateItem(0) With objMail .To = "Me@mymail.ru" .Subject = "Hyperlink Chreck" .htmlbody = "Скачать файл" .display Set objMail = Nothing End With Set objOutApp = Nothing End Sub

07.06.2013 15:12:30

Спасибо за очень полезный макрос.
А можете ещё подсказать, как задать отметку «К исполнению» - для получателя, и чтобы с уточнением времени ответа? И также интересует, как поставить отметку с важностью письма.

12.06.2013 15:59:29

.MarkAsTask - метод для пометки к исполнению. В зависимости от значения параметра задается срок.
Возможные значения можно посмотреть тут: http://msdn.microsoft.com/en-us/library/office/ff868356.aspx
свойство . Importance задает важность (например строка ".importance = 2" проставит отметку "Высокая важность")

10.06.2013 16:34:48

А как отправить через Oulook Express? Ибо с MS Office Outlook не работают, а именно его и требует данный макрос.

13.06.2013 09:31:13

:)

Не встречал такого в принципе. В Outlook Express нет VBA, соответственно, никакой автоматизации там нет в принципе. Может проще поставить полноценный Outlook?

25.06.2013 13:39:33

Dim o_Mess As Object, v_Conf As String, email As String v_Conf = "http://schemas.microsoft.com/cdo/configuration/" Set o_Mess = CreateObject("CDO.Message" With o_Mess .To = email .From = "АДРЕС ПОЛУЧАТЕЛЯ" .Subject = "ТЕМА" .TextBody = "ТЕЛО СООБЩЕНИЯ" .AddAttachment "ПУТЬ К ФАЙЛУ КОТОРЫЙ ПРИКЛАДЫВАЕМ К ПИСЬМУ" With .Configuration.Fields .Item(v_Conf & "sendusing" = 2 .Item(v_Conf & "smtpserver" = "SMTP сервер" .Item(v_Conf & "smtpauthenticate" = 1 .Item(v_Conf & "sendusername" = "АДРЕС ОТПРАВИТЕЛЯ" .Item(v_Conf & "sendpassword" = "ПАРОЛЬ" .Item(v_Conf & "smtpserverport" = 25 .Item(v_Conf & "smtpusessl" = False .Item(v_Conf & "smtpconnectiontimeout" = 60 .Update End With .send End With Set o_Mess = Nothing

Как альтернатива. Работаю программистом пишу на C#, работаю с базами данных промышленных назначений.
01.07.2013 21:15:49

:)

Лучше все-таки прокомментировать этот неработающий кусок кода для непрограммистов на C#

10.07.2013 17:25:28
Подскажите пожалуйста, а как во втором макросе прикрепить текущий лист? Как в первом макросе
08.10.2013 11:13:59
Замените ThisWorkbook.Sheets(1).Copy на ActiveSheet.Copy
04.10.2013 17:49:34

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

08.10.2013 11:12:02
Можно использовать CDO, но только в Windows XP. Посмотрите тут .
09.10.2013 20:58:19

Отлично! По 2 способу и через The Bat! отправляет, НО отправляет всю книгу, а не 1 лист! Хотелось бы узнать как можно отправить только 1 лист из книги, а не 12 как у меня например

20.10.2013 10:13:34
Здравствуйте!
А можно ли отправить письмо для множества адресов через

.To = Range("A1").Value

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

21.12.2013 13:05:37

Поддерживаю вопрос. Как в макросе указать диапазон ячеек со списками получателей, тем, тел писем и вложений?

22.12.2013 00:49:01

Здравствуйте Александр, задать диапазон не получилось, Пришлось сделать в ручную.

SM.to = Range("'Лист1'!g2").Value & "; " & Range("'Лист1'!g3").Value & "; " & Range("'Лист1'!g4").Value & "; " & Range("'Лист1'!g5").Value & "; " & Range("'Лист1'!g6").Value

03.04.2014 13:27:05

Приветствую! Есть решение по отправке выделенного диапазона! Решается путем экспорта-импорта HTML. Если вопрос остался актуальным - обозначьтесь. Скрипт получился не коротким. Но если надо - выложу.

31.12.2014 13:24:26

Можете виложыть скрипт, о котором вы писали више?

04.01.2015 11:00:04

Приветствую, Богдан!
пример с отправкой выделенного диапазона выложил здесь:
https://yadi.sk/i/eGm0_xSWdmnME
Будут вопросы - пишите.
Удачи!

17.12.2013 14:59:16

Николай, подскажите, если необходимо отправлять файл в определенное время, то это можно реализовать в макросах? Либо есть какой-то другой более легкий способ?

04.01.2014 12:13:41

:)

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

09.01.2014 08:34:15

Здравствуйте!
При отправке одного листа как вложения документ Excel называется "Книга1". Как сделать, чтобы было изначальное название?
Спасибо!

11.06.2016 11:46:02
Присоединяюсь к вопросу, только хотелось бы имя для вложения брать из ячейки с этого же листа.
14.01.2014 13:56:15

:)

Добрый день!
Это просто класс, все работает, как часики.
Только один вопрос, на данный момент я сделал что бы файл открывался в определенное время, обновлял данные, сохранял файл в архив, отправлял по почте и закрывался сам, но он отправляет файл целиком и соответственно когда я открываю файл он все делает и опять закрывается
можно ли в третьем примере отправлять выбранные по условию данные, скопированные из этой же книги?

17.01.2014 19:54:25

Подскажите, нигде в интернете ничего и близко не могу найти.

Составляю письмо с помощью VBA
в тело сообщения пишу текст например:
.TextBody = "ТЕЛО СООБЩЕНИЯ"

вопрос: можно ли текст каким либо образом форматировать?
например: сделать слово ТЕЛО полужирным, а СООБЩЕНИЯ оставить нормальным.

Подскажите, можно ли это как-то реализовать? Заранее благодарен.

04.04.2014 10:36:20

Приветствую, Виталий!
Если еще актуально, предлагаю следующий вариант форматирования текста в теле письма:

30.01.2014 22:56:06

Может кому и пригодится. Прокомментирую код Дениса Скотинцева.
Код рабочий, только с ошибками, скобочек ) не хватает. Отправляет письма безо-всяких запросов.
Работает на всех версиях Excel.

Sub SendMail() 'Обязательно подключить библиотеку Tools->References > Dim o_Mess As Object, v_Conf As String, email As String, i_Paht As String v_Conf = "http://schemas.microsoft.com/cdo/configuration/" i_Paht = ThisWorkbook.Path & "\ваша книга.xlsx" ' указываем полный путь к файлу, который хотим вложить email = "КОМУ@mail.ru" 'e-mail получателя Set o_Mess = CreateObject("CDO.Message" ) 'Создаем сообщение With o_Mess .To = email 'Кому .From = "От Кого" 'От кого .Subject = "Привет" 'Тема письма .TextBody = "Большой привет от VBA" 'Текст письма If Len(i_Paht) > 0 Then .AddAttachment i_Paht 'вкладываем файл With .Configuration.Fields 'конфигурируем CDO .Item(v_Conf & "sendusing") = 2 .Item(v_Conf & "smtpserver") = "smtp.mail.ru" 'ваш сервер SMTP:smtp.mail.ru; smtp.yandex.ru; mail.rambler.ru .Item(v_Conf & "smtpauthenticate") = 1 .Item(v_Conf & "sendusername") = "ВАШ@mail.ru" 'Ваша учетная запись .Item(v_Conf & "sendpassword") = "пароль" 'Ваш пароль к почтовому ящику .Item(v_Conf & "smtpserverport") = 465 'номер порта(узнать на сайте вашей почты) .Item(v_Conf & "smtpusessl") = True .Item(v_Conf & "smtpconnectiontimeout") = 60 .Update End With .Send 'отправляем End With Set o_Mess = Nothing End Sub

04.02.2016 13:44:48

ошибка "файл занят другим процессом", имеется необходимость автоматически отправлять файл на почту каждый день. открывать через планировщик. Далее макрос обновляет данные и отправляет, без подтверждения, как в теме обсуждения.

30.01.2014 23:03:26

Ну вот, та же ошибка. При вставке кода, закрывающая скобка ), заменяется смайликом. Смайлик удаляешь, а про скобку забываешь!
Отредактировал, теперь код верный.

03.02.2014 15:29:51

Здравствуйте а подскажите как прописать макрос даже не знаю как объяснить какой но попробую
у нас в одном файле лежат эл. адреса на эти эл. адреса нужно отправить отсканированный лист но каждую неделю листы меняются

17.02.2014 16:10:22

Пожалуйста, помогите!
Когда отправляю лист по 2-ому способу, записанный на листе макрос (для защиты ячейки) не работает у получателя. Код защиты для ячейки приведен ниже:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [S2:AG63]) Is Nothing Then _
With Application: .EnableEvents = 0: .Undo: .EnableEvents = -1: End With
End Sub

30.05.2014 18:40:08

Подскажите, пожалуйста, как заменить в макросе почтовый клиент Outlook на Windows Live:

Set OutApp = CreateObject("Outlook.Application" 'запускаем Outlook в скрытом режиме

22.07.2014 11:41:47
Никак. Нужна локальная установленная на компьютере почтовая программа-клиент.
08.07.2014 20:23:16

Здравствуйте!
Подскажите пожалуйста, как установить отчет о доставке и о прочтении, да и подпись к письму не мешало бы!
Спасибо!

17.07.2014 18:06:34

Здравствуйте,
почтовый клиент Mozilla Thunderbird, макрос работает отлично, есть ли возможность запускать почтовое приложение в фоновом режиме, или например закрывать клиента после отправки? Нагуглил разные варианты работы VBA c Windows приложениями используя API, но знаний не хватает применить. А еще в треде был вопрос о присвоении файлу имени листа при отправке (вместо Книга1), возможно ли это?

21.07.2014 16:33:17

Добрый день.
Помогите, кто может, я не сильно разбираюсь в VBA.
Есть задача отправлять макросом вложение (книгу или лист) по почте Lotus.
Для Outlook вроде все понятно, но в моем случае, по способу 2 мне не хватает только Body.
Можно ли решить эту проблему?

Так видимо здесь и не дождусь ответа (((

04.01.2015 17:07:08

:)

Ну, здесь мы больше по Microsoft Office специализируемся
Но поиск в гугле по первой ссылке дал вот это .
Поможет?

12.09.2014 16:34:34

Добрый день,
можно ли отправлять письма с помощью макроса не на адрес *@*.com, а на группу рассылки, созданную в Outlook?
Спасибо!

24.09.2014 15:34:57

Добрый день.
Пытаюсь облегчить себе работу с помощью третьего макроса, все работает.
Подскажите что мне необходимо исправить в строчке:

".Attachments.Add Range("A4" ).Value"

чтобы отправлялся активный лист(отредактированный) с активной книги(то есть книги где макрос).

Заранее спасибо за помощь!

15.11.2014 12:36:46

Одной строчкой это не сделать. Надо предварительно копировать ваш текущий лист в новую книгу, а потом уже прикреплять ее к созданному сообщению.

20.11.2014 14:26:44

Николай добрый день.
Подскажите пожалуйста что необходимо изменить в строке
".Attachments.Add Range("A4";).Value"
чтобы не путь к вложению указывать, а просто вкладывать в новое сообщение активный файл.
Заранее спасибо.

20.11.2014 14:53:08

поменял эту строку на такую
.Attachments.Add ThisWorkbook.FullName
Может быть кому-нибудь пригодится

09.12.2014 16:00:49

Спасибо! Все работает, но интересует, что необходимо дописать в макросе для переформатирования перед отправкой в формат XPS

10.01.2015 09:22:13
Для сохранения книги в XPS можно использовать команду

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypeXPS, Filename:= _ "C:\Договоры\Book1.xps", Quality:=xlQualityStandard, _ IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:= False

А потом прикреплять к письму сохраненный файл как вложение.

22.12.2014 21:04:35

Добрый день!
Подскажите, пожалуйста, как в 3-м способе сделать так, чтобы при создании письма из Ехсель с помощью VBA в письмо автоматически добавлялась подпись, та которая настроена у сотрудника для указания при создании новых сообщений. Заранее спасибо.

04.01.2015 17:03:08

Насколько я знаю - никак. Самое простое - добавить подпись в исходное сообщение как текст. Один из вариантов реализации есть тут .

07.01.2015 12:24:21
Ок, спасибо большое!

08.01.2015 18:44:18

Николай, добрый день,
Такой вопрос, можно ли во втором макросе (отправка листа) задать тело сообщения каким либо способом?
Спасибо.

10.01.2015 09:15:56

Богдан, насколько я знаю - нет. Метод SendMail не имеет возможности задать тело письма, только тему и получателей.

13.01.2015 16:36:12

Приветствую!
Большое спасибо за материал.
Использую второй макрос, хотелось бы знать можно ли как-то в тело письма вставить таблицу с активного листа, и желательно с сохранением форматирования (граница, заливка и т п).

20.01.2015 10:49:35
нашел http://www.excel-vba.ru/forum/index.php?topic=828.0 может кому поможет.

10.03.2015 16:03:46

Здравствуйте!
Подскажите пожалуйста, как нужно изменить строку ссылающиеся на документ, чтобы прикрепить несколько документов из одной папки

14.08.2015 00:59:03

Подскажите пожалуйста, как отправить диапазон ячеек на основе этого примера https://yadi.sk/i/eGm0_xSWdmnME только нужно с помощью VBA и одновременно нескольким (выделенным в отдельных ячейках) получателям. А также, возможно ли, автоматическое выделение или копирование на другие ясейки, тех адресатов, которые были в списке рассылки. Заранее благодарю всех участнико.

20.08.2015 12:43:34

Приветствую. Делается элементарно.
Надо просто сформировать имя для отправки, которое состоит из перечня адресов. Это можно сделать простым перечислением ячеек, где расположены адреса:
Out_Mail = Cells(5, 5) & "; " & Cells(6, 5) & "; " & Cells(7, 5)
или, если адресов много, сделать цикл. К примеру:
-------------------------------
Out_Mail = ""
For i = 5 To 7
Out_Mail = Out_Mail & Cells(i, 5) & "; "
Next i
-------------------------------
В строке отправки ставим .to = Out_Mail
пример здесь: https://yadi.sk/i/4pFQnK2QiYzMs
Удачи!

14.08.2015 01:06:00
макросом VBA без использования почтовых программ.

22.08.2015 02:09:56

Большое спасибо за ответ.

Подскажите,пожалуйста ещё такие моменты:
- Как отправлять ссылки в теле письма на основе Вашего примера?
- Можно ли давать команду на отправку с другого листа книги?

24.08.2015 18:24:40
Ребята, помогите, пожалуйста - очень нужно.

26.10.2015 13:08:58

Приветствую!
Отправлять ссылки можно. Второй вопрос не совсем понял, что находится на втором листе?
Пример здесь:
https://yadi.sk/i/h66sF01Tjzusv

26.10.2015 22:31:25

Дмитрий, здравствуйте.
Я имел ввиду - как сделать, чтобы отправлять диапазон расположенный к примеру на Лист1, а кнопку для отправки этого диапазона разместить на Лист2.

27.10.2015 09:17:24

;)

Правильно поставленная задача - уже половина ее решения
Для этого надо просто активировать лист, где находится фрагмент таблицы, а в конце, по желанию, скакнуть обратно.
См здесь: https://yadi.sk/i/4IL6Vk22k37sd

22.09.2015 23:30:44
отправка определенных ячеек

Sub Письмо() Dim OutApp As Object Dim OutMail As Object Dim rng As Range Dim MyDate MyDate = Format(Date, "DD.MM.YYYY") With Application .EnableEvents = False .ScreenUpdating = False End With iLastRow = Cells(Rows.Count, 1).End(xlUp).Row Set rng = Nothing Set rng = ActiveSheet.Range("AI32:CF34") Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) On Error Resume Next With OutMail .To = "dddd@mail.ru" .Subject = "Пример отправки фрагмента таблицы. Сегодня " & MyDate .HTMLBody = "" & "Добрый День!" & vbCrLf & _ "" & "Отчет по анкетам:" & _ RangetoHTML(rng) & vbCrLf & _ "" & "" & vbCrLf & _ "" & "" .Display End With On Error GoTo 0 With Application .EnableEvents = True .ScreenUpdating = True End With Set OutMail = Nothing Set OutApp = Nothing End Sub Function RangetoHTML(rng As Range) Dim fso As Object Dim ts As Object Dim TempFile As String Dim TempWB As Workbook TempFile = Environ$("temp") & "\" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm" rng.Copy Set TempWB = Workbooks.Add(1) With TempWB.Sheets(1) .Cells(1).PasteSpecial Paste:=8 .Cells(1).PasteSpecial xlPasteValues, , False, False .Cells(1).PasteSpecial xlPasteFormats, , False, False .Cells(1).Select Application.CutCopyMode = False On Error Resume Next On Error GoTo 0 End With With TempWB.PublishObjects.Add( _ SourceType:=xlSourceRange, _ Filename:=TempFile, _ Sheet:=TempWB.Sheets(1).Name, _ Source:=TempWB.Sheets(1).UsedRange.Address, _ HtmlType:=xlHtmlStatic) .Publish (True) End With Set fso = CreateObject("Scripting.FileSystemObject") Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2) RangetoHTML = ts.readall ts.Close RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _ "align=left x:publishsource blog-comment-meta"> Ссылка 
Dmitry
14.10.2015 08:56:51
Добрый день!
Помогите пожалуйста составить макрос или через УФ. Суть такова:
Есть к примеру в ячейке "В2" Город получатель(города разные). необходимо что бы при активации(как при гиперссылке) данного города отправлялось письмо с текстом и номером индекса(индексы тоже разные), который находится в ячейке "А1", либо при вводе текста в ячейке "С1".."Запрос". автоматически уходило письмо в город получатель("B2" )с текстом и номером индекса("A1").
Это можно как-то реализовать?
Заранее спасибо!
Ссылка
Дмитрий Спицын
14.10.2015 14:47:39
Приветствую!
Простой вариант реализации такой задачи макросом здесь:
https://yadi.sk/i/z8jERgEPjjANs
Удачи!
Родитель Ссылка
TC_TRUST
26.10.2015 22:29:58
Второй вопрос не совсем понял, что находится на втором листе?
Дмитрий, здравствуйте.
Я имел ввиду - как сделать, чтобы отправлять диапазон расположенный к примеру на Лист1, а кнопку для отправки этого диапазона разместить на Лист2.
Ссылка
Дмитрий Спицын
27.10.2015 09:57:31
Ответил. см выше
Родитель Ссылка
Иван Крючков
28.10.2015 19:19:58
Добрый вечер! Подскажите пожалуйста, везде читал смотрел, но не нашел решение проблемы. Необходимо отправить письмо с excel с вложением текущей книги(без указания пути, т.к. путь все время будет менять, т.к. будет меняться имя файла), при этом чтобы открывалось окно сообщения в outlook, для написания текста(текст с ячейки не варианта, в моем случае не удобно), но адресат уже заложен в макросе. Тему же можно оставить чтобы брал с ячейки. В данной теме и вообще нашел чтобы просто отправлял с вложением текущей книги без открытия окна сообщения, либо открывал окно сообщения, но при этом письмо было без вложения текущего файла. Повторюсь, необходимо чтобы вложением являлся текущий файл, без указания пути к нему. Спасибо большое!
Ссылка
Дмитрий Спицын
29.10.2015 13:39:05
Приветствую, Иван!
Не понял, чем "Окно сообщения" принципиально отличается от драфта письма?
Берем классический пример Способ 3. Универсальный макрос (см выше), в строке вложения пишем:
.Attachments.Add ActiveWorkbook.FullName
Строку .Send меняем на .Display. Запускаем макрос, пишем нужный текст и отправляем письмо.
Родитель Ссылка
Марина Шадрина
25.04.2016 13:54:41
Добрый день
Или с макросом №2 что-то не так, или с моим пк
Письмо пришло - отправляла несколько раз, все ОК, но в почтовике в "отправленных" нет.
Не подскажите что это может быть? офис 2010
Ссылка
sarathin
11.06.2016 11:50:13
Выше задавали вопрос как используя второй способ при отправлении листа задать ему имя из ячейки, а то уходит с именем Книга1?
Ссылка
sarathin
12.06.2016 15:19:04
Николай, здравствуйте.
Нашел на просторах сети вот такой ккод

Option Explicit
Sub Send_Mail()
Dim objOutlookApp As Object, objMail As Object
Dim sTo As String, sSubject As String, sBody As String, sAttachment As String
Application.ScreenUpdating = False
On Error Resume Next
'пробуем подключиться к Outlook, если он уже открыт
Set objOutlookApp = GetObject(, "Outlook.Application";)
Err.Clear 'Outlook закрыт, очищаем ошибку
If objOutlookApp Is Nothing Then
Set objOutlookApp = CreateObject("Outlook.Application";)
End If
objOutlookApp.Session.Logon
Set objMail = objOutlookApp.CreateItem(0) 'создаем новое сообщение
'если не получилось создать приложение или экземпляр сообщения - выходим
If Err.Number <> 0 Then Set objOutlookApp = Nothing: Set objMail = Nothing: Exit Sub
sTo = "AddressTo@mail.ru" 'Кому(можно заменить значением из ячейки - sTo = Range("A1";).Value)
sSubject = "Автоотправка" 'Тема письма(можно заменить значением из ячейки - sSubject = Range("A2";).Value)
sBody = "Привет от Excel-VBA" 'Текст письма(можно заменить значением из ячейки - sBody = Range("A3";).Value)
sAttachment = "C:\Temp\Книга1.xls" 'Вложение(полный путь к файлу. Можно заменить значением из ячейки - sAttachment = Range("A4";).Value)
'создаем сообщение
With objMail
.To = sTo 'адрес получателя
.CC = "" 'адрес для копии
.BCC = "" 'адрес для скрытой копии
.Subject = sSubject 'тема сообщения
. = sBody 'текст сообщения
'.HTMLBody = sBody 'если необходим форматированные текст сообщения(различные шрифты, цвет шрифта и т.п.)
.Attachments.Add sAttachment 'чтобы отправить активную книгу вместо sAttachment указать ActiveWorkbook.FullName
.Send 'Display, если необходимо просмотреть сообщение, а не отправлять без просмотра
End With
Set objOutlookApp = Nothing: Set objMail = Nothing
Application.ScreenUpdating = True
End Sub
[CODE][/CODE] Не могу понять что изменить чтобы отправлять текущий лист или текущую книгу.
Подскажите пожалуйста.

не получилось вставить в теги код, все переносы убирает.
Ссылка
Djump
17.06.2016 06:09:45
Всем привет.
Очень понравился макрос из шапки


Sub SendSheet()
ThisWorkbook.Sheets("Лист1";).Copy
With ActiveWorkbook
.SendMail Recipients:="vasya@pupkin.com", Subject:="Лови файлик"
.Close SaveChanges:=False
End With
End Sub


Помогите, пожалуйста, внести некоторые коррективы:
Необходимо настроить отправку в формате XPS
Необходимо настроить отправку получателям, чьи адреса прописаны в определенных клетках
Необходимо настроить отправку копии получателям, чьи адреса прописаны в определенных клетках

В идеале - настроить отправку не самого файла, а в виде вложенной в письмо таблички с диапазоном (A1:L16)
Ссылка
Егор крот
20.06.2016 12:43:18
Добрый день. Очень помог ваш макрос.

Sub SendWorkbook()
ActiveWorkbook.SendMail Recipients:="vasya@pupkin.com", Subject:="Лови файлик"
End Sub
но возможно ли чтобы файл который отправлялся был в формате pdf и как нибудь убрать всплывающее окно где надо разрешать outlook отправлять письмо.
?
Ссылка
валерий ко
31.08.2016 10:48:06
Возможно ли обойти окошко с кнопкой "разрешить"
Что бы все в 1 клик ?
Ссылка
Дмитрий Голубев
25.09.2016 20:43:09
Добрый день !
Подскажите пожалуйста, способом "Способом №3" можно решить следующую задачу ?

Имеется перечень контактов, также справа имеется столбец с числами (например, кол-во дней до определенного события),
необходимо:
1. Просмотр диапазона с числами на условие достижение числами определенного значения (например, 30 > x > 25)
2. При выполнении условия в п.1 Excel начинает формировать массовую рассылку, как это было сделано в Способе№3. Еще есть вариант http://www.excel-vba.ru/chto-umeet-excel/kak-otpravit-pismo-iz-excel/ (МАССОВАЯ РАССЫЛКА ПИСЕМ ПО АДРЕСАМ ). Подобная процедура должна пробежаться до последней строки всей таблицы
3. Вся конструкция макроса "Напоминалки" запускается после открытия файла.
Ссылка
СВ
28.09.2016 21:56:24
Приветик, всем Гуру.
Подскажите как в этом макросе прописать, чтобы он еще дополнительно в текст письма помимо текста, который подтягивает из ячейки вставлял и уже созданную подпись которая в Outlook/
Код

Sub Send_Mail() Dim objOutlookApp As Object, objMail As Object Dim sTo As String, sSubject As String, sBody As String, sAttachment As String Application.ScreenUpdating = False On Error Resume Next Set objOutlookApp = GetObject(, "Outlook.Application") Err.Clear If objOutlookApp Is Nothing Then Set objOutlookApp = CreateObject("Outlook.Application") End If objOutlookApp.Session.Logon Set objMail = objOutlookApp.CreateItem(0) If Err.Number <> 0 Then Set objOutlookApp = Nothing: Set objMail = Nothing: Exit Sub sTo = Range("D3") sSubject = "Всем приветик" sBody = Range("F3").Value sAttachment = Range("F3").Value With objMail .To = sTo .CC = "" .BCC = "" .Subject = sSubject .Body = sBody & String(4, vbCrLf) .HTMLBody = sBody .Attachments.Add sAttachment .Display End With Set objOutlookApp = Nothing: Set objMail = Nothing Application.ScreenUpdating = True End Sub
Читать:
Что означает html в информатике транспортный протокол протокол маршрутизации

Похожие записи

Как крепится насос гур уаз патриот

admin

Как включить консоль на компьютере

admin

Как слить масло с коробки заз шанс

admin