Sub SendSheet()
ThisWorkbook.Sheets(1).Copy
With ActiveWorkbook
.SendMail Recipients:="vasya@pupkin.com", _
Subject:="Лови файлик"
.Close SaveChanges:=False
End With
End Sub
Отлично работает - спасибо автору. Но создает вложения с названиями "Книга1", "Книга2", и т.д.
Вопрос есть ли возможность задавать имя файла? Если есть - посоветуйте как.
Ответ, на данный вопрос, я на форуме не нашел, но если он есть, киньте ссылку, пожалуйста...
Чтобы дать имя файлу, необходимо его сначала куда-то сохранить. А потом удалить, если не нужен.
Код
Sub SendSheet()
ThisWorkbook.Sheets(1).Copy
With ActiveWorkbook
.SaveAs "C:\Другое имя.xls", xlNormal 'сохраняем под имененм Другое имя.xls в корень диска С
.SendMail Recipients:="vasya@pupkin.com", _
Subject:="Лови файлик"
.Close 0
Kill "C:\Другое имя.xls" 'удаляем сохраненный файл
End With
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
я за свой вариант. Работает в любой версии Excel. Второй же вариант(предложенный Dima S) будет работать только в версии 2007 и выше. Плюс Вы как-то странно объединили коды. Почему два ".xlsb" после Kill?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
vbn = InputBox("Введите имя для книги") ActiveWorkbook.SaveAs Filename:="D:\& vbn &.xls", FileFormat:=xlExcel8, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False
With ActiveWorkbook .SendMail Recipients:="privet@mail.ru", _ Subject:="Лови файлик" .Close 0 Kill "D:\& vbn &.xls" End With End Sub
Почему так сказать немогу - знаний ноль... освоил пока только метод тыка
Но вот проблема: ActiveWorkbook.SaveAs Filename:="D:\& vbn &.xls", FileFormat:=xlExcel8, _ Не видит как переменную - имя файла получается таким & vbn &.xls
Подскажите как правильно записать? И желательно, что бы было вот так "Отчет за (переменная).xls" Тоесть, что бы часть названия файла была постоянной + дату вводил сам - "постоянная+переменная" Извеняю, что закидал вопросами. Последний вопрос мог бы и сам найти, но время поджимает.
Правда? Это откуда такая информация, что нельзя? Практичнее во временную папку пользователя, чтобы исключить ошибки кода при запуске кода пользователем с ограниченными правами. Но если есть админ права - никто не запрещает сохранять в корень любого диска.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Но вот проблема: ActiveWorkbook.SaveAs Filename:="D:\& vbn &.xls", FileFormat:=xlExcel8, _ Не видит как переменную - имя файла получается таким & vbn &.xls
- имел ввиду макросы. точнее способы сохранения и отправки. "xlsb" - это нюанс, который не углядел) я просто его всегда использую и как то не обратил внимания.
Цитата
Правда? Это откуда такая информация, что нельзя?
тоже относительно Windows7, которой пользуюсь. В корне диска С можно создать только папки.