2016-04-28 297 views
0

有什麼方法可以附加以及發送特定工作表作爲電子郵件正文。VBA代碼發送電子郵件正文中的工作表

我正在使用下面的vba,但這隻能幫助發送工作表作爲附件。你能否建議一些我可以發送電子郵件正文的工作表。

謝謝! RAIC

Sub Email() 
Dim OutApp As Object 
Dim OutMail As Object 
Dim wbTemp As Workbook 
Dim strFilename As String 
Dim Sendrng As Range 

ThisWorkbook.Worksheets("Test Worksheet").Copy 


Set wbTemp = ActiveWorkbook 


wbTemp.SaveAs ThisWorkbook.Path & "/" & "TestWb", XlFileFormat.xlOpenXMLWorkbook 

strFilename = wbTemp.FullName 


Set OutApp = CreateObject("Outlook.Application") 
Set OutMail = OutApp.CreateItem(0) 
On Error Resume Next 
With OutMail 
    .To = "[email protected]" 
    .CC = "" 
    .BCC = "" 
    .Subject = "Test Email" 
    .Body = "" 
    .Attachments.Add strFilename 
    .display 
End With 

末隨着 對錯誤轉到0 集發件=無 設置OutApp =無

wbTemp.Close 

Kill strFilename 

末次

+1

[這是以前的問題](http://stackoverflow.com/a/18683610/3657636),回答你在找什麼。此外,[Ron de Bruin的這個網站](http://www.rondebruin.nl/win/s1/outlook/bmail2.htm)涵蓋了這個話題。 – Dan

回答

0
Private Sub CommandButton1_Click() 

    Dim AWorksheet As Worksheet 
    Dim Sendrng As Range 
    Dim rng As Range 

    On Error GoTo StopMacro 

    With Application 
     .ScreenUpdating = False 
     .EnableEvents = False 
    End With 

    Set Sendrng = Worksheets("Sheet1").Range("A1:g15") 

    Set AWorksheet = ActiveSheet 

    With Sendrng 
    .Parent.Select 
    Set rng = ActiveCell 
    .Select 
     ActiveWorkbook.EnvelopeVisible = True 
     With .Parent.MailEnvelope 
      With .Item 
       .To = "recipient" 
       .CC = "" 
       .BCC = "" 
       .Subject = "My subject" 
       .Send 
      End With 

     End With 
       rng.Select 
    End With 

     AWorksheet.Select 

Sheet1.Activate 
Range("c2:c3").ClearContents 
Range("e2:e3").ClearContents 
Range("c5") = "" 
Range("B8:b10").ClearContents 
Range("c8:c10").ClearContents 
Range("d8:d10").ClearContents 
Range("e8:e10").ClearContents 
Range("f8:f10").ClearContents 
Range("g8:g10").ClearContents 
Range("b13") = "" 



StopMacro: 
    With Application 
     .ScreenUpdating = True 
     .EnableEvents = True 
    End With 
    ActiveWorkbook.EnvelopeVisible = False 

End Sub 

你應該添加代碼,還複製它對此。原諒你不需要在這裏的所有廢話,我只是複製和粘貼一個我一直在使用