Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2022, 14:47   #1
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию VBA Вставить копию ячеек в письмо

Всем здравствуйте! Макросом копирую диапазон ячеек, создаю письмо, активирую письмо, перемещаю курсор в конец сообщения, но не могу вставить скопированный диапазон в сообщение. Скажите пожалуйста как макросом вставить скопированный диапазон в сообщение. Кросс
Код:
Sub SendMail()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim cell As Range
 
    Range("B1:M35").Copy
  
    'создаем новое пустое сообщение в Outlook
    Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon
    On Error GoTo cleanup
    Set OutMail = OutApp.CreateItem(0)
    On Error Resume Next
     
    With OutMail
        .To = "vasya@pupkin.com"
        .Subject = "Выполнение графиков движения автобусов за " & ThisWorkbook.ActiveSheet.Name
        .Body = "Здравствуйте! Высылаю данные о выполнении графиков движения автобусов за " & ThisWorkbook.ActiveSheet.Name & "г."
        'вместо Send можно использовать Display, чтобы посмотреть сообщение перед отправкой
    End With
     
    OutMail.Display
     
AppActivate Title:="Выполнение графиков движения автобусов за Январь 2022 - Сообщение (HTML)"
     
'  Перемещаю курсор
    For i = 1 To 100
SendKeys ("{right}")
    Next
       
    Selection.Paste
 
    On Error GoTo 0
    Set OutMail = Nothing
 
cleanup:
    Set OutApp = Nothing
    Application.ScreenUpdating = True
End Sub
Вложения
Тип файла: rar Пример.rar (30.5 Кб, 1 просмотров)
agregator вне форума Ответить с цитированием
Старый 17.01.2022, 18:37   #2
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

Всем спасибо вопрос решился
Код:
Sub Send_Range()
 
ActiveSheet.Range("B1:M35").Select
ActiveWorkbook.EnvelopeVisible = True
 
With ActiveSheet.MailEnvelope
    .Introduction = "This is an example from official Microsoft site, slightly modified by Rioran."
    .Item.To = "voronov_rv@mail.ru"
    .Item.Subject = "Rio_Test"
    .Item.display
End With
 
End Sub
agregator вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
После строк с максимальной суммой элементов вставить копию строки с минимальной суммой элементов с++ Van1l Общие вопросы C/C++ 0 20.02.2018 10:37
VBA Вставить формат ячеек. Zzema Microsoft Office Excel 1 30.09.2013 13:49
Таблицу из экселя вставить в письмо Аутлука supergood Microsoft Office Excel 1 27.02.2012 17:19
Вставить имя в письмо hozey Общие вопросы Delphi 1 19.07.2010 10:07
Как средствами VBA сделать точную копию листа и вставить ее в конец книги? Pavel_Ine Microsoft Office Excel 13 10.06.2009 19:39