Герман спросил, есть ли способ отправить один лист в книге как вложение в электронное письмо, не отправляя всю книгу. Короткий ответ: вы не можете — рабочий лист сам по себе не может существовать как «объект»

которые вы можете прикрепить к электронному письму. Вы можете отправлять файлы только в виде вложений в сообщения электронной почты, что означает, что для отправки вам потребуется файл книги.

Конечно, из одного листа легко создать рабочую тетрадь. Если вам нужно делать это только время от времени, то самый простой способ — выполнить следующие действия:

  1. Щелкните правой кнопкой мыши вкладку рабочего листа, который хотите отправить по электронной почте.

  2. В появившемся контекстном меню выберите «Переместить» или «Копировать». Excel отображает диалоговое окно «Перемещение или копирование». (См. Рис. 1.)

  3. В раскрывающемся списке «В книгу» выберите «Новая книга».

  4. Убедитесь, что установлен флажок «Сделать копию».

  5. Щелкните ОК.

На этом этапе вы должны увидеть новую книгу с единственным листом в ней — копию листа, который вы хотите отправить. Отправьте эту книгу по электронной почте, и вы выполнили то, что хотели. После того, как он будет отправлен по электронной почте, вы можете удалить книгу, так как ваш лист также все еще находится в исходной книге.

Если вам нужно регулярно отправлять текущий лист кому-то по электронной почте, вы можете создать макрос, который выполнит эту задачу за вас. Создаваемый вами макрос будет отличаться в зависимости от используемой программы электронной почты. По этой причине в этом совете невозможно дать исчерпывающий ответ на основе макросов. Тем не менее, может быть поучительно предоставить пример макроса, который может отправлять электронную почту листу, используя 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 [Отправка отдельных листов по электронной почте].