Здравствуйте! Вот такой вопрос: есть макрос на отправку письма с вложенным файлом. Отправляется тот же файл, в котором я работаю и в котором прописан макрос. Вопрос в том, как сделать так, чтобы:
1. При отправке письма, вложенный файл менял формат с .xlsm на .xls, и файл отправлялся без макроса внутри (получатель не должен видеть, что в документе есть макрос и формат файла должен быть обязательно .xls).
2. У этого файла, при вложении его в письмо, менялось название (к неизменному: «отчёт за» добавлялась текущая дата)
Помогите, пожалуйста, дописать этот код:
[vba]
Код
Sub Отправка_отчёта() Dim OutApp As Object Dim OutMail As Object Dim strbody As String
Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0)
strbody = "текст письма" On Error Resume Next
With OutMail .Display .To = "почта" .CC = "" .BCC = "" .Subject = "отчёт за " & Date .Attachments.Add ThisWorkbook.FullName .HTMLBody = strbody & .HTMLBody .Display End With
On Error GoTo 0 Set OutMail = Nothing Set OutApp = Nothing End Sub
[/vba]
Здравствуйте! Вот такой вопрос: есть макрос на отправку письма с вложенным файлом. Отправляется тот же файл, в котором я работаю и в котором прописан макрос. Вопрос в том, как сделать так, чтобы:
1. При отправке письма, вложенный файл менял формат с .xlsm на .xls, и файл отправлялся без макроса внутри (получатель не должен видеть, что в документе есть макрос и формат файла должен быть обязательно .xls).
2. У этого файла, при вложении его в письмо, менялось название (к неизменному: «отчёт за» добавлялась текущая дата)
Помогите, пожалуйста, дописать этот код:
[vba]
Код
Sub Отправка_отчёта() Dim OutApp As Object Dim OutMail As Object Dim strbody As String
Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0)
strbody = "текст письма" On Error Resume Next
With OutMail .Display .To = "почта" .CC = "" .BCC = "" .Subject = "отчёт за " & Date .Attachments.Add ThisWorkbook.FullName .HTMLBody = strbody & .HTMLBody .Display End With
On Error GoTo 0 Set OutMail = Nothing Set OutApp = Nothing End Sub
chendex, попробуйте просто файл хотябы тогда пересохранять:
[vba]
Код
Sub Отправка_отчёта() Dim OutApp As Object Dim OutMail As Object Dim strbody As String Dim PathNWB as String FormExlNWB = ".xls" pathNWB = thisworkbook.Path & "\" ThisWorkbook.SaveAs Filename:=pathNWB & "отчёт за " & Date &FormExlNWB
Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0)
strbody = "текст письма" On Error Resume Next
With OutMail .Display .To = "почта" .CC = "" .BCC = "" .Subject = "отчёт за " & Date .Attachments.Add ThisWorkbook.FullName .HTMLBody = strbody & .HTMLBody .Display End With
On Error GoTo 0 Set OutMail = Nothing Set OutApp = Nothing End Sub
[/vba]
chendex, попробуйте просто файл хотябы тогда пересохранять:
[vba]
Код
Sub Отправка_отчёта() Dim OutApp As Object Dim OutMail As Object Dim strbody As String Dim PathNWB as String FormExlNWB = ".xls" pathNWB = thisworkbook.Path & "\" ThisWorkbook.SaveAs Filename:=pathNWB & "отчёт за " & Date &FormExlNWB
Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0)
strbody = "текст письма" On Error Resume Next
With OutMail .Display .To = "почта" .CC = "" .BCC = "" .Subject = "отчёт за " & Date .Attachments.Add ThisWorkbook.FullName .HTMLBody = strbody & .HTMLBody .Display End With
On Error GoTo 0 Set OutMail = Nothing Set OutApp = Nothing End Sub
chendex, попробуйте просто файл хотябы тогда пересохранять:
Роман, спасибо! Название файла и формат меняет, но увы макрос всё равно остаётся в отправляемом файле. Есть ли ещё какие-нибудь варианты, как сделать так, чтобы получатель не видел макрос?
chendex, попробуйте просто файл хотябы тогда пересохранять:
Роман, спасибо! Название файла и формат меняет, но увы макрос всё равно остаётся в отправляемом файле. Есть ли ещё какие-нибудь варианты, как сделать так, чтобы получатель не видел макрос?chendex