2016-04-28 9 views
0

Gibt es eine Möglichkeit, wie ich bestimmte Arbeitsblatt als E-Mail-Körper senden und senden kann.VBA-Code zum Senden von Arbeitsblättern im E-Mail-Textkörper

Ich verwende die unten vba, aber dies hilft nur beim Senden des Arbeitsblatts als Anhang. Können Sie mir bitte etwas vorschlagen, das ich im E-Mail-Textblatt senden kann?

Vielen Dank! 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 

End With On Error GoTo 0 Set outmail = Nothing Set OutApp = Nothing

wbTemp.Close 

Kill strFilename 

End Sub

+1

[Hier ist eine vorherige Frage] (http://Stackoverflow.com/a/18683610/3657636), die beantwortet, was du suchst . Auch [diese Website von Ron de Bruin] (http://www.rondebruin.nl/win/s1/outlook/bmail2.htm) deckt das Thema ab. – Dan

Antwort

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 

Sie Ihren Code hinzufügen sollte, dass auch Kopien es zu diesem. Verzeih den ganzen Mist, den du hier nicht brauchst, ich kopiere und klebte nur einen, den ich benutzt habe

Verwandte Themen