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
Wie @TimWilliams sagt entfernen
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?
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
First off,
RangeToHTML
. Das Skript ruft es wie ein Methode, ist es aber nicht. Es ist ein beliebtes Funktion von MVP Ron de Bruin. Zufälligerweise links Punkte, um die genaue Quelle für das Skript, das Sie geschrieben, bevor diese paar Zeilen hab geschlachtet geändert.Mit Bereich.SpecialCells. Diese Methode wirkt auf ein Angebot und gibt nur diejenigen Zellen, die diese Kriterien erfüllen. In Ihrem Fall, Sie scheinen nur daran interessiert, die sichtbaren text Zellen. Wichtig ist, es arbeitet auf einer Bereich, nicht auf HTML-text.
Vollständigkeit halber, poste ich eine funktionierende version des Skripts unten. Ich würde sicherlich beraten, um es zu ignorieren und wieder auf die ausgezeichnete original von Ron das Bruin.
Bekam die Antwort, in der Ron die Bruin post selber, danke
Waren Sie in der Lage, fügen Sie einige zusätzlichen text in den Körper der E-Mail neben der eine, eingefügt durch das makro?
Außerdem ist es eine Möglichkeit für Sie zu Bilder kopieren?
Sie können erhalten eine Idee, wie man zusätzlichen text hinzufügen, um E-Mail-Körper durch die folgenden Ron die Bruin-post... Bin nicht sicher, wie Sie auf Bild hinzufügen, um E-Mail-ausserdem bin ich jetzt mit java Mails verschicken
InformationsquelleAutor Paul-Jan