Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Отправка письма со сменой формата и имени файла - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отправка письма со сменой формата и имени файла (Макросы/Sub)
Отправка письма со сменой формата и имени файла
chendex Дата: Понедельник, 10.08.2015, 15:33 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Здравствуйте! Вот такой вопрос: есть макрос на отправку письма с вложенным файлом. Отправляется тот же файл, в котором я работаю и в котором прописан макрос. Вопрос в том, как сделать так, чтобы:

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]


Сообщение отредактировал chendex - Понедельник, 10.08.2015, 15:38
 
Ответить
СообщениеЗдравствуйте! Вот такой вопрос: есть макрос на отправку письма с вложенным файлом. Отправляется тот же файл, в котором я работаю и в котором прописан макрос. Вопрос в том, как сделать так, чтобы:

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]

Автор - chendex
Дата добавления - 10.08.2015 в 15:33
Roman777 Дата: Понедельник, 10.08.2015, 17:14 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
chendex, попробуйте просто файл хотябы тогда пересохранять:


Много чего не знаю!!!!

Сообщение отредактировал Roman777 - Понедельник, 10.08.2015, 17:27
 
Ответить
Сообщениеchendex, попробуйте просто файл хотябы тогда пересохранять:

Автор - Roman777
Дата добавления - 10.08.2015 в 17:14
chendex Дата: Вторник, 11.08.2015, 11:51 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
chendex, попробуйте просто файл хотябы тогда пересохранять:


Роман, спасибо! Название файла и формат меняет, но увы макрос всё равно остаётся в отправляемом файле. Есть ли ещё какие-нибудь варианты, как сделать так, чтобы получатель не видел макрос?
 
Ответить
Сообщение
chendex, попробуйте просто файл хотябы тогда пересохранять:


Роман, спасибо! Название файла и формат меняет, но увы макрос всё равно остаётся в отправляемом файле. Есть ли ещё какие-нибудь варианты, как сделать так, чтобы получатель не видел макрос?

Автор - chendex
Дата добавления - 11.08.2015 в 11:51
Roman777 Дата: Вторник, 11.08.2015, 16:07 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
chendex, Добрый день!
Мне казалось, что макрос не может быть сохранён в формате "xls" . А макрос у Вас в каком модуле стоит?


Много чего не знаю!!!!

Сообщение отредактировал Roman777 - Вторник, 11.08.2015, 16:07
 
Ответить
Сообщениеchendex, Добрый день!
Мне казалось, что макрос не может быть сохранён в формате "xls" . А макрос у Вас в каком модуле стоит?

Автор - Roman777
Дата добавления - 11.08.2015 в 16:07
RAN Дата: Вторник, 11.08.2015, 17:26 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub Del_Macros()
     Dim Fn$, Fn1$, wb As Workbook
     Application.DisplayAlerts = False
     Fn = ThisWorkbook.FullName
     Fn1 = Left$(Fn, InStrRev(Fn, ".")) & "@@@" & "xlsm"
     ThisWorkbook.SaveCopyAs Fn1
     Set wb = Workbooks.Open(Fn1)
     Fn = Left$(Fn, InStrRev(Fn, ".")) & "xlsx"
     wb.SaveAs Fn, 51
     wb.Close False
     Kill Fn1
     Set wb = Workbooks.Open(Fn)
     Fn1 = Left$(Fn, InStrRev(Fn, ".")) & "xls"
     wb.SaveAs Fn1, -4143
     wb.Close False
     Kill Fn
     Application.DisplayAlerts = True
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Sub Del_Macros()
     Dim Fn$, Fn1$, wb As Workbook
     Application.DisplayAlerts = False
     Fn = ThisWorkbook.FullName
     Fn1 = Left$(Fn, InStrRev(Fn, ".")) & "@@@" & "xlsm"
     ThisWorkbook.SaveCopyAs Fn1
     Set wb = Workbooks.Open(Fn1)
     Fn = Left$(Fn, InStrRev(Fn, ".")) & "xlsx"
     wb.SaveAs Fn, 51
     wb.Close False
     Kill Fn1
     Set wb = Workbooks.Open(Fn)
     Fn1 = Left$(Fn, InStrRev(Fn, ".")) & "xls"
     wb.SaveAs Fn1, -4143
     wb.Close False
     Kill Fn
     Application.DisplayAlerts = True
End Sub
[/vba]

Автор - RAN
Дата добавления - 11.08.2015 в 17:26
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отправка письма со сменой формата и имени файла (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!