2015-06-16 14 views
0

Привет У меня есть макрос, который создает PDF, затем создает письмо и отправляет PDF-файл. Теперь мне нужно скопировать ряд ячеек и вставить их в тело письма. Я видел примеры макросов копирования и вставки, но не знаю, как объединить этот код в макрос создания и отправки.VBA macro для копирования и вставки диапазона по электронной почте

любая помощь оценили

Благодарности

спасибо - Вот текущий код

Это из rondebruin.nl

Sub new_save_as() 


Dim OlApp As Object 
Dim NewMail As Object 
Dim TempFilePath As String 
Dim TempFileName As String 
Dim FileFullPath As String 

With Application 
    .ScreenUpdating = False 
    .EnableEvents = False 
End With 
TempFilePath = Environ$("temp") & "\" 

TempFileName = "Rewards desk report" & " " & Format(Now - 1, "dd-mmm-yy") & ".pdf" 

FileFullPath = TempFilePath & TempFileName 

On Error GoTo err 
With ActiveSheet 
     .ExportAsFixedFormat _ 
    Type:=xlTypePDF, _ 
    Filename:=FileFullPath, _ 
    Quality:=xlQualityStandard, _ 
    IncludeDocProperties:=True, _ 
    IgnorePrintAreas:=False, _ 
    OpenAfterPublish:=False 
End With 

Set OlApp = CreateObject("Outlook.Application") 
Set NewMail = OlApp.CreateItem(0) 

On Error Resume Next 
With NewMail 
    .To = "address here" 
    .CC = "address here" 
    .BCC = "" 
    .Subject = "Rewards desk daily report" 
    .Body = "The daily report is attached" 
    .Attachments.Add FileFullPath 
    .Display 
End With 
On Error GoTo 0 

Kill FileFullPath 

Set NewMail = Nothing 
Set OlApp = Nothing 

With Application 
    .ScreenUpdating = True 
    .EnableEvents = True 
End With 
MsgBox ("Email has been Sent Successfully") 
Exit Sub 
err: 
    MsgBox err.Description 

End Sub 
+1

показать код у вас есть сейчас .... –

ответ

0

Что (с немного редактирования.) характер диапазонов, которые вы копируете/вставляете? Если контент является чем-то коротким, подумайте о том, чтобы установить их в переменные.

msg1 = Range("A1").Value 
msg2 = Range("A2").Value 
msg3 = Range("A3").Value 

затем изменить код

.Body = "The daily report is attached" & vbCrLf & msg1 & " " & msg2 & " " & msg3 
Смежные вопросы