Fügen Sie bestimmten excel-Bereich in outlook

Arbeite ich an einer excel-Bericht, den ich automatisieren möchten, jedoch den Bereich der Zellen werden nicht eingefügt in Outlook.

Hier ist mein code:

Sub Mail_Selection_Range_Outlook_Body()

Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object

Set rng = Nothing
On Error Resume Next
' Only send the visible cells in the selection.
Set rng = Selection.SpecialCells(xlCellTypeVisible)
Set rng = Sheets("Sheet1").RangeToHtml("D4:D12").SpecialCells(xlCellTypeVisible, xlTextValues)
On Error GoTo 0

If rng Is Nothing Then
    MsgBox "The selection is not a range or the sheet is protected. " & _
           vbNewLine & "Please correct and try again.", vbOKOnly
    Exit Sub
End If

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

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

On Error Resume Next
With OutMail
    .To = ThisWorkbook.Sheets("Sheet2").Range("C1").Value
    .CC = ""
    .BCC = ""
    .Subject = "This is the Subject line"
    .HTMLBody = RangeToHtml.rng
    ' In place of the following statement, you can use ".Display" to
    ' display the e-mail message.
    .Display
End With
On Error GoTo 0

With Application
    .EnableEvents = True
    .ScreenUpdating = True
End With

Set OutMail = Nothing
Set OutApp = Nothing
End Sub

Ich bekomme keine Fehlermeldung, es ist nur, dass es nicht einfügen-Palette in outlook. Danke.

Diese Set rng = Sheets("Sheet1").RangeToHtml("D4:D12").SpecialCells(xlCellTypeVisible, xlTextValues) sieht falsch aus. RangeToHtml (unter der Annahme, dass die Funktion von der MS-website) gibt eine Zeichenfolge zurück, so können Sie nicht rufen Sie dann SpecialCells auf die Zeichenkette. Loswerden, dass On Error Resume Next und du wirst sehen die Fehler.
Wie @TimWilliams sagt entfernen On Error Resume Next es sei denn, Sie haben einen ganz bestimmten Grund, es aufzunehmen.
Danke für Eure Antworten Tim und Enderland, ich habe entfernt die On Error Resume Next", wie Sie sagte, und es gibt mir einen Fehler, Objekt unterstützt diese Eigenschaft oder Methode nicht. Haben Sie arbeiten, um zu bekommen, befreien den der Fehler?
Also welche Zeile wird der Fehler dann nehmen Sie zu?

InformationsquelleAutor Gilbert Jacob | 2013-09-06

Schreibe einen Kommentar