PDA

View Full Version : Mailing a Range or Selection in the Body of an E-Mail Message - Help



Rajesh Kr Joshi
02-28-2012, 11:17 PM
Hi,
I have the below code to send a range using outlook. But while compiling it is giving error and highlighting .HTMLBody = RangetoHTML(rng)
Please help.

Thanks
Rajesh




Sub Mail_Selection_Range_Outlook_Body()
' You need to use this module with the RangetoHTML subroutine.
' Works in Excel 2000, Excel 2002, Excel 2003, Excel 2007, Excel 2010, Outlook 2000, Outlook 2002, Outlook 2003, Outlook 2007, and Outlook 2010.
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)
' You can also use a range with the following statement.
' Set rng = Sheets("YourSheet").Range("D4:D12").SpecialCells(xlCellTypeVisible)
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 = "ron@debruin.nl"
.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.
.Send
End With
On Error GoTo 0

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

Set OutMail = Nothing
Set OutApp = Nothing
End Sub

Rajesh Kr Joshi
02-28-2012, 11:40 PM
Hi,

I got the sollution

Using VBA in Excel to Send Workbooks and Ranges Through E-Mail with Outlook (Part 2 of 2) (http://msdn.microsoft.com/en-us/library/ff519602(v=office.11).aspx#odc_office_UseExcelObje ctModeltoSendMailPart2_IntroductiontoSendingEMail)

Thanks
Rajesh

Admin
02-29-2012, 07:39 AM
Hi Rajesh,

Thanks for sharing the solution.

Please use code tags while posting codes :)

technicalupload
11-20-2012, 03:29 PM
Getting an error msg "RangetoHTML" sub or function not defined. Using Excel 2010

Admin
11-20-2012, 05:11 PM
RangetoHTML is a Function. Get the code from the link Rajesh posted above.