Как в письмо майл вставить таблицу

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .

Любой, кто когда-либо пытался выровнять строки и столбцы текста вручную с помощью пробелов, знает, сколько усилий и времени это может потребовать. Для этого можно использовать знаки табуляции, но еще лучше — таблицы, к которым можно применить привлекательные стили. Более того, в сообщения можно даже добавлять электронные таблицы Excel с формулами и вычислениями.

Щелкните в том месте сообщения, где нужно вставить таблицу.

На вкладке Вставка нажмите кнопку Таблица.

Выполните одно из следующих действий:

Чтобы задать количество строк и столбцов в новой пустой таблице, щелкните соответствующую ячейку сетки таблицы.

Чтобы задать простой шаблон таблицы, выберите команду Вставить таблицу.

Нажмите кнопку Нарисовать таблицу, чтобы отобразить указатель, которая позволяет нарисовать таблицу, строки и столбцы и изменять размеры ячеек таблицы.

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

Выберите пункт Экспресс-таблицы и щелкните нужную таблицу. Замените данные в таблице своими.

Нужно иметь на своём компьютере программу, с помощью которой эта таблица создавалась. Какое расширение имеет файл?

скачать прикрепленный файл, заполнить таблицу и прикрепить новый созданный файл.

"Засунуть" её в любой текстовый редактор, заполнить, сохранить и отослать куда нужно.

Не говорите чушь! Попробуйте документ xlsx или pdf "засунуть" в блокнот.

Скорее всего Вам прислали таблицу, созданную в программе Excel. Если у Вас не установлен этот пакет из Microsoft Office , придётся установить. Или, как альтернатива – OpenOffice.

Да я не представляю "нормальную жизнь" без Word и Еxcel. Поэтому и посоветовал "огульно".

Программа для заполнения бланков может подойдёт?

Ничего не поняла. Это просто таблица в присланном письме, без расширения

Файл, не может быть без расширения. Посмотрите этот файл в Total Commander. Сделайте копию и меняйте расширения на pdf, на формат Word и Excel и др. и пробуйте открыть в соответствующей программе. Возможно, этот файл является архивом, тогда то же, меняйте расширение. Или пускай скинуть документ по-новой.

Спасибо, но это я не умею

Чтобы увидеть расширение файла, необходимо сделать следующее (для Win 7). Пойти по цепочке Меню Пуск – Панель управления – Офрмление – Параметры папки. В появившемся окошке выбрать раздел "Вид" Далее в меню (довольно длинном) найти " Скрывать расширения зарегистрированных типов файлов" и убрать возле этой записи галочку. Далее не забываем нажать "Применить" и ОК. После этого все файлы, имеющиеся в компьютере будут отображаться с их расширениями.

Есть такая опция и в ХР, но думаю, что у Вас Win 7.

После того, как будет известно расширение файла, можно будет узнать, чем и как его открыть и отредактировать.

Cпасибо. А я думала что можно просто скопировать таблицу, потом вставить в "новое послание " и там заполнить ее и отослать. Нельзя так?

Но Вам нужно, если я правильно понял, не просто скопировать и отправить, а скопировать, добавить своё и отправить. Я не совсем понимаю проблему. Если в письме просто картинка, не важно – прикреплённый файл или вставленный рисунок, то в любом случае "это" можно сохранить и редактировать. Если не открывается сам прикреплённый файл, тогда, или – сам файл "битый", или нет программы для открытия или, если есть программа, тогда укажите эту программу для открытия этого файла.

Вы должны сначала будете загрузить в свой компьютер полученный файл, затем открыть его и заполнить. Затем отослать его. некоторые почтовые сервисы, например, Windows Hotmail позволяют просмотреть полученный файл прямо в Интернете минуя его загрузку в компьютер, но изменить его, т.е. отредактировать, Вы не сможете. Во всяком случае я такого не знаю, я пользуюсь ограниченным числом почтовых служб.

Читайте также:  Как быстро удалить сообщения в одноклассниках

Узнайте расширение файла (буквы, стоящие в его названии после точки) и тогда разговор будет более конкретным

Это просто письмо с таблицей. На ней надо напечатать данные и отослать обратно. Я не заню как это письмо можно сохранить и как в таблице напечатать.

Прив, Коллега. точно знаю (хотя сам и не пробовал), что возможности нового HotMail позволяют редактирование таблиц в теле сообщения/письма (по крайней мере так утверждает сам MSoft в одной из своих рекламных кампаний)

Да, если вложенный файл отправить в SkyDrive. Попробовал присланный мне вордовский документ туда отправить, но он туда не загрузился полностью. Такого же качества будет и редактирование. Возможно, это из-за скорости нашего Интернет-подключения. Может в США это и не является проблемой, но у нас лучше файл загрузить в комп, обработать и затем переслать.

У меня Hotmail, но как редактировать? А расширения у этой таблицы нет, она просто идет после текста письма.

Если у Вас почта Hotmail, то это резко меняет дело. Тогда поступаете так. Если возле вложенного файла есть только одна надпись "загрузить", то это означает, что файл нередактируемого в SkyDrive формате. Если там есть опция "Просмотреть в Интернете", то выбираете её. На экране появится через некоторое время Ваш документ, но он пока ещё будет нередактируемым. Далее выбираете на панели инструментов "Изменить". После этого файл будет загружен в SkyDrive и у Вас появится возможность изменения его содержимого.

Там нет опций. Просто письмо и таблица. Сказали что что я могу заполнить ее сразу, но ничего не заполняется- там нельзя печатать.

Спасибо всем за советы.

Пока что ещё не за что благодарить, вопрос остался без решения. Если Вас не затруднит, то опишите подробнее, что Вы сделали, чтобы увидеть эту таблицу. Начните с того, что Вы зашли в свою почту и увидели там письмо.

Хорошо -я зашла в свою почту, открыла послание – письмо из фирмы. Несколько строчек письма, и сразу идет таблица простая- несколько колонок. Когда разговаривала по телефону с фирмой, мне сказали, что заполнять колонки можно прямо в письме и потом отослать им обратно. Но не получается печатать в письме. Тогда я выделила все послание в таблице , скопировала его правой кнопкой и хотела вставить в новое письмо и послать уже заполненную таблицу, но это письмо не вставляется в "новое" послание.

Я только что попробовал в своём Hotmail. При простом открытии письма его текст, значит, и таблица, не редактируются. После открытия письма нажмите мышкой на кнопку "Ответить". Текст письма становится редактируемым. После щелчка мышью появляется текстовый курсор и возможность добавления/удаления данных. Таким образм вы сможете заполнить таблицу. Далее нажимаете "Отправить". Адрес писать не нужно, он будет уже указан.

Кibery Получилось благодаря Вашему совету! Я щелкнула на "ответить" и тогда смогла печатать в таблице и отправить ее. Никогда не обращала внимания на эту опцию, думала что это то же самое что и "новое" послание. Как Вы догадались? Большое спасибо!

Очень рад за Вас, что у Вас всё получилось. Если будут проблемы, то обращайтесь, что-нибудь придумаем.

Здравствуйте. Приобрел ноутбук, там стоит установленная программ Офис 2010. А ключа нет.ю Помогите, пришлите ключ к программе или подскажите как можэно ее активировать бесплатно. Зараннее благодарю.

Я пользовался крякнутым офисом 2010, но Майкрософт всё равно докопался. Пришлось сменить его на офис 2007. Всё спокойно уже более полугода. Может и Вам лучше установить такой офис? А 2010 можно будет установить позже, когда Майкрософт будет не столь строг к этому продукту

Про создание писем в Outlook через Visual Basic for Applications(VBA) Excel я уже писал пару статей, в том числе и о том, как вставить одну из стандартных подписей в письмо – Вставить в письмо подпись из Outlook через VBA(по умолчанию при создании писем из VBA подпись не вставляется, даже если это настроено параметрами почты). Но т.к. отправка происходит из Excel, то часто возникает и другой вопрос – как в письмо вставить не просто текст, а целую таблицу? Да еще со всем форматированием ячеек? Если речь о ручной вставке, то тут все просто: скопировали диапазон, перешли в письмо – вставили. Но если попробовать тоже самое кодом (через копировать-вставить) – ничего не получится(у Outlook просто нет метода Paste или что-то вроде того). Можно использовать метод SendKeys, но он весьма нестабилен и я стараюсь его вообще нигде не применять, только в случаях, когда по-другому ну вообще никак. Если же переносить таблицу кодом вроде такого:
.Body = Range("A1").Value & Range("A2").Value
то это будут только значения ячеек, но не их форматирование и уж никак не таблица.
Все дело в том, что таблица в теле письма это отдельный объект формата HTML. И при вставке через копировать-вставить руками Excel и Outlook делают за нас всю грязную работу по перекодировке скопированного в нужный формат HTML. А значит и нам надо каким-то образом конвертировать нужные ячейки в этот формат, да еще учесть всё форматирование. К примеру, есть такая таблица:

Читайте также:  Бесплатные книги на айфон без подписки

Function ConvertRngToHTM(rng As Range) Dim fso As Object, ts As Object Dim sF As String, resHTM As String Dim wbTmp As Workbook sF = Environ("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm" ‘переносим указанный диапазон в новую книгу rng.Copy Set wbTmp = Workbooks.Add(1) With wbTmp.Sheets(1) ‘вставляем только ширину столбцов, значения и форматы .Cells(1).PasteSpecial xlPasteColumnW ) ‘закрываем временную книгу и удаляем wbTmp.Close False Kill sF ‘очищаем объектные переменные Set ts = Nothing: Set fso = Nothing Set wbTmp = Nothing End Function

Все, что остается – это в нужный момент вызвать эту функцию и вставить в нужное место письма.
Например, для конвертации в текст HTML выделенного на листе диапазона необходимо выполнить код:

Dim sTblBody As String sTblBody = ConvertRngToHTM(Selection)

Чтобы создать письмо в Outlook и вставить туда эту таблицу можно использовать такой код:

Sub Send_Mail() Dim objOutlookApp As Object, objMail As Object Application.ScreenUpdating = False On Error Resume Next Set objOutlookApp = CreateObject("Outlook.Application") objOutlookApp.Session.Logon Set objMail = objOutlookApp.CreateItem(0) ‘создаем новое сообщение If Err.Number <> 0 Then Set objOutlookApp = Nothing: Set objMail = Nothing: Exit Sub On Error GoTo 0 ‘создаем сообщение With objMail .To = "адрес получателя" .Subject = "Тема: тест вставки таблицы" .BodyFormat = 2 ‘olFormatHTML – формат HTML .HTMLBody = ConvertRngToHTM(Selection) .Display ‘отображаем сообщение End With Set objOutlookApp = Nothing: Set objMail = Nothing Application.ScreenUpdating = True End Sub

Более подробно про создание и отправку писем из Excel я писал в этой статье: Как отправить письмо из Excel?
По сути основная задача выполнена, теперь вы сможете вкладывать в сообщение таблицу без потери форматирования.

Пример вставки таблицы в письмо Outlook.xls (67,5 KiB, 1 512 скачиваний)

В файле-примере, приложенном к статье, более расширенный вариант кода, который оформлен более удобно, там можно задать в ячейках адрес получателя, тему письма и текст письма. Плюс помимо описанного выше добавляет форматирование к письму, проставляет корректные переносы и непосредственно вставляет таблицу в любое место письма.
За форматирование(назначает шрифт Arial, размер 14) отвечает строка:

Полагаю, несложно догадаться где изменить размер шрифта и его имя. Так же можно и иное форматирование применять, если Вам знакомы основы работы с HTML.
Корректные для HTML переносы строк текста

‘Переносы строк и шрифт sBody = Replace(sBody, Chr(10), "
") sBody = Replace(sBody, vbNewLine, "
")

Про вставку таблицы следует расписать чуть подробнее. В примере в ячейку B13 записан следующий текст:
Уважаемый клиент!
Только для Вас мы подготовили специальное предложение по товарам, которыми Вы интересовались в нашем Интернет-магазине:

Будем рады видеть Вас среди наших постоянных клиентов!
(а для постоянных клиентов у нас действуют еще более выгодные условия)
С уважением, Дмитрий
менеджер по работе с постоянными клиентами

красным специально выделен тег

. Именно на место этого тега будет вставлена таблица, созданная из указанного диапазона и результат будет как на рис.2 (см.выше). Эту метку можно вставлять в любое место и именно туда будет помещена таблица.
В коде диапазон вставляемой таблицы указывается в строке:

Set rDataR = .Range("A15:D18") ‘Selection – если надо отправить только выделенные диапазона

Его можно изменить на любой необходимый.
Что важно помнить: если помимо вставки таблицы Вы планируете форматировать письмо другими тегами HTML, то лучше сначала сделать все форматирование и только в самом конце, самым последним шагом, добавлять таблицу в письмо. Иначе разметка таблицы может "поплыть".

Надеюсь теперь Вам не составит труда сделать свои сообщения более красивыми и аккуратными.

Понимаю, что многие захотят сделать из этого массовую рассылку. Для этого придется совместить код из этой статьи с кодом из статьи Как отправить письмо из Excel?. Там есть пример отправки писем через Outlook списку получателей.

Подумал, что неплохо было бы дополнить статью простенькой функцией, которая не сохраняет никаких файлов, форматированных таблиц и практически не делает лишних движений. Она просто в письмо вкладывает значения всех ячеек указанного диапазона простым текстом, без форматирования(разве что добавил переносы строки и табуляцию, чтобы соблюдался хоть какой-то табличный вид и текст не был одной единой строкой):

‘————————————————————————————— ‘ Author : The_Prist(Щербаков Дмитрий) ‘ Профессиональная разработка приложений для MS Office любой сложности ‘ Проведение тренингов по MS Excel ‘ http://www.excel-vba.ru ‘ Purpose: функция объединяет значения указанного диапазона ячеек в строку ‘ разрывы между столбцами заменяются табуляцией ‘ разрывы между строками заменяются переносами на строки ‘————————————————————————————— Function RangeToTextTable(rng As Range) Dim lr As Long, lc As Long, arr Dim res As String arr = rng.Value If Not IsArray(arr) Then ReDim arr(1 To 1, 1 To 1) arr(1, 1) = rng.Value End If For lr = 1 To UBound(arr, 1) For lc = 1 To UBound(arr, 2) If lc = 1 Then res = res & arr(lr, lc) Else res = res & vbTab & arr(lr, lc) End If Next res = res & vbNewLine Next RangeToTextTable = res End Function

Вставляем значения ячеек при помощи этой функции в письмо:

‘создаем сообщение With objMail .To = "адрес получателя" .Subject = "Тема: тест вставки таблицы" ‘.BodyFormat = 2 ‘уже не надо, т.к. форматирования нет .HTMLBody = RangeToTextTable(Selection) .Display ‘отображаем сообщение End With

Здесь следует помнить, что "таблица" после такой вставки будет выглядеть не очень красиво. И речь не о цвете заголовков – при различной длине текста внутри ячеек текст в письме будет сдвигаться:

чтобы этого как-то избежать, можно чуть модифицировать функцию:

‘————————————————————————————— ‘ Author : The_Prist(Щербаков Дмитрий) ‘ Профессиональная разработка приложений для MS Office любой сложности ‘ Проведение тренингов по MS Excel ‘ http://www.excel-vba.ru ‘ WebMoney – R298726502453; Яндекс.Деньги – 41001332272872 ‘ Purpose: функция объединяет значения указанного диапазона ячеек в строку ‘ разрывы между столбцами заменяются табуляцией ‘ разрывы между строками заменяются переносами на строки ‘————————————————————————————— Function RangeToTextTable(rng As Range) Dim lr As Long, lc As Long, arr Dim res As String, rh() Dim lSpaces As Long, s As String arr = rng.Value If Not IsArray(arr) Then ReDim arr(1 To 1, 1 To 1) arr(1, 1) = rng.Value End If ReDim rh(1 To UBound(arr, 2)) For lr = 1 To UBound(arr, 1) For lc = 1 To UBound(arr, 2) If Len(arr(lr, lc)) > rh(lc) Then rh(lc) = Len(arr(lr, lc)) End If Next Next For lr = 1 To UBound(arr, 1) For lc = 1 To UBound(arr, 2) s = arr(lr, lc) lSpaces = rh(lc) – Len(s) If lSpaces > 0 Then s = s & Space(lSpaces) End If If lc = 1 Then res = res & s Else res = res & vbTab & s End If Next res = res & vbNewLine Next RangeToTextTable = res End Function

и назначить шрифт для писем по умолчанию Courier New или любой другой мноноширный шрифт. Тогда можно получить примерно такой результат:

Если использовать не моноширный шрифт, то визуально таблица все равно будет неравной и смысла в модификации функции нет.

Статья помогла? Поделись ссылкой с друзьями!

Ссылка на основную публикацию
Adblock detector