Отправка отдельных листов по электронной почте (Microsoft Excel)
Герман спросил, есть ли способ отправить один лист в книге как вложение в электронное письмо, не отправляя всю книгу. Короткий ответ: вы не можете — рабочий лист сам по себе не может существовать как «объект»
которые вы можете прикрепить к электронному письму. Вы можете отправлять файлы только в виде вложений в сообщения электронной почты, что означает, что для отправки вам потребуется файл книги.
Конечно, из одного листа легко создать рабочую тетрадь. Если вам нужно делать это только время от времени, то самый простой способ — выполнить следующие действия:
-
Щелкните правой кнопкой мыши вкладку рабочего листа, который хотите отправить по электронной почте.
-
В появившемся контекстном меню выберите «Переместить» или «Копировать». Excel отображает диалоговое окно «Перемещение или копирование». (См. Рис. 1.)
-
В раскрывающемся списке «В книгу» выберите «Новая книга».
-
Убедитесь, что установлен флажок «Сделать копию».
-
Щелкните ОК.
На этом этапе вы должны увидеть новую книгу с единственным листом в ней — копию листа, который вы хотите отправить. Отправьте эту книгу по электронной почте, и вы выполнили то, что хотели. После того, как он будет отправлен по электронной почте, вы можете удалить книгу, так как ваш лист также все еще находится в исходной книге.
Если вам нужно регулярно отправлять текущий лист кому-то по электронной почте, вы можете создать макрос, который выполнит эту задачу за вас. Создаваемый вами макрос будет отличаться в зависимости от используемой программы электронной почты. По этой причине в этом совете невозможно дать исчерпывающий ответ на основе макросов. Тем не менее, может быть поучительно предоставить пример макроса, который может отправлять электронную почту листу, используя Outlook в качестве почтовой программы.
Sub EmailWithOutlook() Dim oApp As Object Dim oMail As Object Dim WB As Workbook Dim FileName As String Dim wSht As Worksheet Dim shtName As String Application.ScreenUpdating = False ' Make a copy of the active worksheet ' and save it to a temporary file ActiveSheet.Copy Set WB = ActiveWorkbook FileName = WB.Worksheets(1).Name On Error Resume Next Kill "C:\" & FileName On Error GoTo 0 WB.SaveAs FileName:="C:\" & FileName 'Create and show the Outlook mail item Set oApp = CreateObject("Outlook.Application") Set oMail = oApp.CreateItem(0) With oMail 'Uncomment the line below to hard code a recipient '.To = "[email protected]" 'Uncomment the line below to hard code a subject '.Subject = "Subject Line" 'Uncomment the lines below to hard code a body '.body = "Dear John" & vbCrLf & vbCrLf & _ '"Here is the file you asked for" .Attachments.Add WB.FullName .Display End With 'Delete the temporary file WB.ChangeFileAccess Mode:=xlReadOnly Kill WB.FullName WB.Close SaveChanges:=False 'Restore screen updating and release Outlook Application.ScreenUpdating = True Set oMail = Nothing Set oApp = Nothing End Sub
Обратите внимание, что макрос эффективно выполняет то, что было сделано на предыдущих этапах:
он копирует рабочий лист в новую книгу, а затем отправляет эту книгу по электронной почте. Затем он удаляет книгу и возвращает вас к обычному использованию Excel.
Если вы ищете более подробное обсуждение того, как отправить рабочий лист по электронной почте с помощью различных программ, то вам обязательно нужно посетить следующую веб-страницу:
http://www.rondebruin.nl/win/section1.htm
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (3273) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздние версии) здесь:
link: / excelribbon-Sending_Single_Worksheets_via_E-mail [Отправка отдельных листов по электронной почте]
.