Дмитрий(The_Prist) Щербаков,
Благодарю за помощь.
крутил вертел я тот макрос, ничего не получалось. То выбираешь файл куда сохранить, а сохраняет всеравно не туда. Сделал, сохраняет куда покажешь, но тогда в письмо его не прикрепляет. вообщем провозился зря, надо изучать всё полностью с азов.
Но наконец-то додел я макрос, именно тот который был у меня изначально
Он короче в два раза! и намного проще чем все ранее предложенные портянки с сохранением листа в отдельну книгу, причем всё гораздо легче, сохранить лист в отдельную книгу можно и без переменных, а также не нужна проверка открыт ли уже Outlook или нет, если нет, он запустится. В итоге всё работает, сохраняет как надо, куда надо и с нужным именем. Письмо создает, файл прикрепляет. Кому необоходимо пользуйтесь.
Код |
---|
Sub Save_and_Mail()
With Application.FileDialog(msoFileDialogSaveAs)
.InitialFileName = ActiveWorkbook.Path & "\" & ActiveWorkbook.ActiveSheet.Name
If .Show = 0 Then Exit Sub
ActiveWorkbook.ActiveSheet.Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=.SelectedItems(1)
Application.DisplayAlerts = True
End With
Dim OutlookApp As Object, SM As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set SM = OutlookApp.CreateItem(olMailItem)
'SM.SentOnBehalfOfName = "mail@example.ru" 'Поле "От", если нужен другой отправитель
SM.To = Range("A3").Value 'адрес получателя
SM.Subject = ActiveSheet.Name 'тема сообщения
On Error Resume Next
SM.Body = "Текст Письма planetaexcel"
SM.Attachments.Add ActiveWorkbook.Path & "\" & ActiveWorkbook.Name 'Адрес вложения
SM.Display
Set SM = Nothing
Set OutlookApp = Nothing
End Sub
|