Макрос для отправки письма в формате PDF через Excel - VBA
Формулировка задачи:
Добрый вечер,
1. Помогите пожалуйста скорректировать макрос, так чтобы он вкладывал в письмо файл Excel в формате PDF (Лист - SP)
2. Скорректировать макрос, чтобы вставлял помимо основных получателей, еще получателей для копии письма (адреса также указаны, как для копии)
Для понимания о моем уровне знаний макрос - 1 из 5 (имею лишь понятие что такое "макрос", а для составления данного макроса пользовался интернетом, вот только не нашел как вставить лист в формате .pdf и получателей для копии не работает)
Вот сам макрос:
Листинг программы
- Sub send_emails()
- ThisWorkbook.Sheets("SP").Copy
- With ActiveWorkbook
- .SendMail Recipients:=Range("h21") & Range("h22").CC = Range("h25") & Range("h26"), Subject:="SP"
- .Close SaveChanges:=False
- End With
- End Sub
Решение задачи: «Макрос для отправки письма в формате PDF через Excel»
textual
Листинг программы
- Sub save_in_pdf_and_send_email()
- pdf_file = ThisWorkbook.Path & "" & ThisWorkbook.Name & ".pdf" 'файл ПДФ
- ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdf_file, _
- Quality:=xlQualityStandard, _
- IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False
- Dim objOutlookApp As Object, objMail As Object
- Dim sTo As String, sSubject As String, sBody As String, sAttachment As String
- On Error Resume Next
- 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
- MsgBox "Не удалось создать новое сообщение"
- Exit Sub
- End If
- sTo = InputBox("Введите получателей (если несколько то через ;)") '
- sSubject = "Тема письма"
- sBody = "Тело письма"
- sAttachment = pdf_file
- With objMail
- .To = sTo
- .CC = ""
- .BCC = ""
- .Subject = sSubject
- .Body = sBody
- .Attachments.Add sAttachment
- .Save
- .Send
- End With
- Set objOutlookApp = Nothing: Set objMail = Nothing
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д