+ Reply to Thread
Results 1 to 23 of 23

Sending ONLY Range or Page x, BUT not entire Activesheet, How ?

Hybrid View

  1. #1
    Corey
    Guest

    Re: Sending ONLY Range or Page x, BUT not entire Activesheet, How ?

    Thnaks again Norman, but i cannot get ONLY a range of cells to email instead
    of the whole activesheet.

    Code current below:

    Dim OutApp As Outlook.Application
    Dim OutMail As Outlook.MailItem
    Application.ScreenUpdating = False
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(olMailItem)
    With OutMail
    .To = ThisWorkbook.Sheets("Sheet1").Range("B53").Value ' address in
    sheet
    .CC = ThisWorkbook.Sheets("Sheet1").Range("E53").Value ' cc
    address in sheet
    .BCC = ""
    .Subject = ThisWorkbook.Sheets("Sheet1").Range("B55").Value '
    subject line info in sheet
    ' .Body = bodyStr.("Sheet1").Range("B45:I107")
    <----------------- Tried this to no avail also
    .HTMLBody = SheetToHTML(ActiveSheet) '
    <----------------- WANT TO SET THIS TO SEND IN BODY AS HTML ONLY
    RANGE("B45:I107") NOT WHOLE SHEET
    ' .Attachments.Add () Add a file address here to add an attachment
    later
    .Display '.send to auto send without prompting
    End With
    Application.ScreenUpdating = True
    Set OutMail = Nothing
    Set OutApp = Nothing
    End Sub


    I looked at the 'Set source = Selection' but i could not get it to work
    either.

    Any idea's ?


    Corey....
    "Norman Jones" <[email protected]> wrote in message
    news:[email protected]...
    > Hi Corey,
    >
    >> I can see the code there, but cannot still find the code to Select ONLY
    >> cells say (B45:I107)
    >>
    >> Is it there some where, as i cannot see any reference to cell ranges.

    >
    > The suggested code includes the line:
    >
    > Set source = Selection
    >
    > Try changing Selection to your required range.
    >
    >
    > ---
    > Regards,
    > Norman
    >
    >
    > "Corey" <[email protected]> wrote in message
    > news:[email protected]...
    >> Thanks.
    >> I can see the code there, but cannot still find the code to Select ONLY
    >> cells say (B45:I107)
    >>
    >> Is it there some where, as i cannot see any reference to cell ranges.
    >>
    >> Corey....
    >>
    >> "Norman Jones" <[email protected]> wrote in message
    >> news:[email protected]...
    >>> Hi Corey,
    >>>
    >>> See Ron de Bruin's example code at:
    >>>
    >>> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>>
    >>>
    >>> ---
    >>> Regards,
    >>> Norman
    >>>
    >>>
    >>> "Corey" <[email protected]> wrote in message
    >>> news:[email protected]...
    >>>
    >>> I want to adapt this:
    >>> .HTMLBody = SheetToHTML(ActiveSheet)
    >>>
    >>> How can i only have a selected range of cells, or a selected page sent
    >>> in the body of an email instaed of the entire sheet as it currently
    >>> does?
    >>> Any idea's ??
    >>>
    >>> I want to send a range of ("A45:I107") or
    >>> Page 1
    >>>
    >>>
    >>> Corey....
    >>>

    >>
    >>

    >
    >




  2. #2
    Ron de Bruin
    Guest

    Re: Sending ONLY Range or Page x, BUT not entire Activesheet, How ?

    Hi Corey

    Look at this link
    http://www.rondebruin.nl/mail/folder3/mail4.htm

    You see this line in the code
    Set source = Selection

    Change that to

    Set source = ThisWorkbook.Sheets("Sheet1").Range("B45:I107")

    Note that I use the Function RangetoHTML in this example


    --
    Regards Ron De Bruin
    http://www.rondebruin.nl



    "Corey" <[email protected]> wrote in message news:[email protected]...
    > Thnaks again Norman, but i cannot get ONLY a range of cells to email instead of the whole activesheet.
    >
    > Code current below:
    >
    > Dim OutApp As Outlook.Application
    > Dim OutMail As Outlook.MailItem
    > Application.ScreenUpdating = False
    > Set OutApp = CreateObject("Outlook.Application")
    > Set OutMail = OutApp.CreateItem(olMailItem)
    > With OutMail
    > .To = ThisWorkbook.Sheets("Sheet1").Range("B53").Value ' address in sheet
    > .CC = ThisWorkbook.Sheets("Sheet1").Range("E53").Value ' cc address in sheet
    > .BCC = ""
    > .Subject = ThisWorkbook.Sheets("Sheet1").Range("B55").Value ' subject line info in sheet
    > ' .Body = bodyStr.("Sheet1").Range("B45:I107") <----------------- Tried this to no avail also
    > .HTMLBody = SheetToHTML(ActiveSheet) ' <----------------- WANT TO SET THIS TO SEND IN BODY AS HTML ONLY RANGE("B45:I107")
    > NOT WHOLE SHEET
    > ' .Attachments.Add () Add a file address here to add an attachment later
    > .Display '.send to auto send without prompting
    > End With
    > Application.ScreenUpdating = True
    > Set OutMail = Nothing
    > Set OutApp = Nothing
    > End Sub
    >
    >
    > I looked at the 'Set source = Selection' but i could not get it to work either.
    >
    > Any idea's ?
    >
    >
    > Corey....
    > "Norman Jones" <[email protected]> wrote in message news:[email protected]...
    >> Hi Corey,
    >>
    >>> I can see the code there, but cannot still find the code to Select ONLY cells say (B45:I107)
    >>>
    >>> Is it there some where, as i cannot see any reference to cell ranges.

    >>
    >> The suggested code includes the line:
    >>
    >> Set source = Selection
    >>
    >> Try changing Selection to your required range.
    >>
    >>
    >> ---
    >> Regards,
    >> Norman
    >>
    >>
    >> "Corey" <[email protected]> wrote in message news:[email protected]...
    >>> Thanks.
    >>> I can see the code there, but cannot still find the code to Select ONLY cells say (B45:I107)
    >>>
    >>> Is it there some where, as i cannot see any reference to cell ranges.
    >>>
    >>> Corey....
    >>>
    >>> "Norman Jones" <[email protected]> wrote in message news:[email protected]...
    >>>> Hi Corey,
    >>>>
    >>>> See Ron de Bruin's example code at:
    >>>>
    >>>> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>>>
    >>>>
    >>>> ---
    >>>> Regards,
    >>>> Norman
    >>>>
    >>>>
    >>>> "Corey" <[email protected]> wrote in message news:[email protected]...
    >>>>
    >>>> I want to adapt this:
    >>>> .HTMLBody = SheetToHTML(ActiveSheet)
    >>>>
    >>>> How can i only have a selected range of cells, or a selected page sent in the body of an email instaed of the entire sheet as
    >>>> it currently does?
    >>>> Any idea's ??
    >>>>
    >>>> I want to send a range of ("A45:I107") or
    >>>> Page 1
    >>>>
    >>>>
    >>>> Corey....
    >>>>
    >>>
    >>>

    >>
    >>

    >
    >




  3. #3
    Corey
    Guest

    Re: Sending ONLY Range or Page x, BUT not entire Activesheet, How ?

    Thanks Ron.
    I put this in the code, but still get the whole sheet in the email body.
    Do i drop off somehting here ?

    ..HTMLBody = SheetToHTML(ActiveSheet) <-----


    Corey....
    "Ron de Bruin" <[email protected]> wrote in message
    news:[email protected]...
    > Hi Corey
    >
    > Look at this link
    > http://www.rondebruin.nl/mail/folder3/mail4.htm
    >
    > You see this line in the code
    > Set source = Selection
    >
    > Change that to
    >
    > Set source = ThisWorkbook.Sheets("Sheet1").Range("B45:I107")
    >
    > Note that I use the Function RangetoHTML in this example
    >
    >
    > --
    > Regards Ron De Bruin
    > http://www.rondebruin.nl
    >
    >
    >
    > "Corey" <[email protected]> wrote in message
    > news:[email protected]...
    >> Thnaks again Norman, but i cannot get ONLY a range of cells to email
    >> instead of the whole activesheet.
    >>
    >> Code current below:
    >>
    >> Dim OutApp As Outlook.Application
    >> Dim OutMail As Outlook.MailItem
    >> Application.ScreenUpdating = False
    >> Set OutApp = CreateObject("Outlook.Application")
    >> Set OutMail = OutApp.CreateItem(olMailItem)
    >> With OutMail
    >> .To = ThisWorkbook.Sheets("Sheet1").Range("B53").Value ' address
    >> in sheet
    >> .CC = ThisWorkbook.Sheets("Sheet1").Range("E53").Value ' cc
    >> address in sheet
    >> .BCC = ""
    >> .Subject = ThisWorkbook.Sheets("Sheet1").Range("B55").Value '
    >> subject line info in sheet
    >> ' .Body = bodyStr.("Sheet1").Range("B45:I107") <-----------------
    >> Tried this to no avail also
    >> .HTMLBody = SheetToHTML(ActiveSheet) ' <----------------- WANT TO
    >> SET THIS TO SEND IN BODY AS HTML ONLY RANGE("B45:I107") NOT WHOLE SHEET
    >> ' .Attachments.Add () Add a file address here to add an attachment
    >> later
    >> .Display '.send to auto send without prompting
    >> End With
    >> Application.ScreenUpdating = True
    >> Set OutMail = Nothing
    >> Set OutApp = Nothing
    >> End Sub
    >>
    >>
    >> I looked at the 'Set source = Selection' but i could not get it to work
    >> either.
    >>
    >> Any idea's ?
    >>
    >>
    >> Corey....
    >> "Norman Jones" <[email protected]> wrote in message
    >> news:[email protected]...
    >>> Hi Corey,
    >>>
    >>>> I can see the code there, but cannot still find the code to Select ONLY
    >>>> cells say (B45:I107)
    >>>>
    >>>> Is it there some where, as i cannot see any reference to cell ranges.
    >>>
    >>> The suggested code includes the line:
    >>>
    >>> Set source = Selection
    >>>
    >>> Try changing Selection to your required range.
    >>>
    >>>
    >>> ---
    >>> Regards,
    >>> Norman
    >>>
    >>>
    >>> "Corey" <[email protected]> wrote in message
    >>> news:[email protected]...
    >>>> Thanks.
    >>>> I can see the code there, but cannot still find the code to Select ONLY
    >>>> cells say (B45:I107)
    >>>>
    >>>> Is it there some where, as i cannot see any reference to cell ranges.
    >>>>
    >>>> Corey....
    >>>>
    >>>> "Norman Jones" <[email protected]> wrote in message
    >>>> news:[email protected]...
    >>>>> Hi Corey,
    >>>>>
    >>>>> See Ron de Bruin's example code at:
    >>>>>
    >>>>> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>>>>
    >>>>>
    >>>>> ---
    >>>>> Regards,
    >>>>> Norman
    >>>>>
    >>>>>
    >>>>> "Corey" <[email protected]> wrote in message
    >>>>> news:[email protected]...
    >>>>>
    >>>>> I want to adapt this:
    >>>>> .HTMLBody = SheetToHTML(ActiveSheet)
    >>>>>
    >>>>> How can i only have a selected range of cells, or a selected page sent
    >>>>> in the body of an email instaed of the entire sheet as it currently
    >>>>> does?
    >>>>> Any idea's ??
    >>>>>
    >>>>> I want to send a range of ("A45:I107") or
    >>>>> Page 1
    >>>>>
    >>>>>
    >>>>> Corey....
    >>>>>
    >>>>
    >>>>
    >>>
    >>>

    >>
    >>

    >
    >




  4. #4
    Corey
    Guest

    Re: Sending ONLY Range or Page x, BUT not entire Activesheet, How ?

    Code i am now using in module3:

    Sub Macro3()
    '
    ' Macro3 Macro
    ' Macro recorded 24/06/2006 by Corey


    Dim OutApp As Outlook.Application
    Dim OutMail As Outlook.MailItem
    Application.ScreenUpdating = False
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(olMailItem)
    With OutMail
    .To = ThisWorkbook.Sheets("Sheet1").Range("B53").Value
    .CC = ThisWorkbook.Sheets("Sheet1").Range("E53").Value
    .BCC = ""
    .Subject = ThisWorkbook.Sheets("Sheet1").Range("B55").Value
    Set source = ThisWorkbook.Sheets("Sheet1").Range("B45:I107") '
    <-------------------------
    .Body = bodyStr
    .HTMLBody = RangetoHTML2 '
    <-------------------------
    ' .Attachments.Add () Add a file address here to add an attachment
    later
    .Display '.send to auto send without prompting
    End With
    Application.ScreenUpdating = True
    Set OutMail = Nothing
    Set OutApp = Nothing
    End Sub
    Public Function RangetoHTML2() '
    <----------------------------- ONWARDS
    ' You can't use this function in Excel 97
    Dim fso As Object
    Dim ts As Object
    Dim TempFile As String
    TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") &
    ".htm"
    With ActiveWorkbook.PublishObjects.Add( _
    SourceType:=xlSourceRange, _
    Filename:=TempFile, _
    Sheet:=ActiveSheet.Name, _
    source:=ActiveSheet.UsedRange.Address, _
    HtmlType:=xlHtmlStatic)
    .Publish (True)
    End With
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    RangetoHTML2 = ts.ReadAll
    ts.Close
    Set ts = Nothing
    Set fso = Nothing
    Kill TempFile
    End Function



    Corey....
    "Corey" <[email protected]> wrote in message
    news:%[email protected]...
    > Thanks Ron.
    > I put this in the code, but still get the whole sheet in the email body.
    > Do i drop off somehting here ?
    >
    > .HTMLBody = SheetToHTML(ActiveSheet) <-----
    >
    >
    > Corey....
    > "Ron de Bruin" <[email protected]> wrote in message
    > news:[email protected]...
    >> Hi Corey
    >>
    >> Look at this link
    >> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>
    >> You see this line in the code
    >> Set source = Selection
    >>
    >> Change that to
    >>
    >> Set source = ThisWorkbook.Sheets("Sheet1").Range("B45:I107")
    >>
    >> Note that I use the Function RangetoHTML in this example
    >>
    >>
    >> --
    >> Regards Ron De Bruin
    >> http://www.rondebruin.nl
    >>
    >>
    >>
    >> "Corey" <[email protected]> wrote in message
    >> news:[email protected]...
    >>> Thnaks again Norman, but i cannot get ONLY a range of cells to email
    >>> instead of the whole activesheet.
    >>>
    >>> Code current below:
    >>>
    >>> Dim OutApp As Outlook.Application
    >>> Dim OutMail As Outlook.MailItem
    >>> Application.ScreenUpdating = False
    >>> Set OutApp = CreateObject("Outlook.Application")
    >>> Set OutMail = OutApp.CreateItem(olMailItem)
    >>> With OutMail
    >>> .To = ThisWorkbook.Sheets("Sheet1").Range("B53").Value ' address
    >>> in sheet
    >>> .CC = ThisWorkbook.Sheets("Sheet1").Range("E53").Value ' cc
    >>> address in sheet
    >>> .BCC = ""
    >>> .Subject = ThisWorkbook.Sheets("Sheet1").Range("B55").Value '
    >>> subject line info in sheet
    >>> ' .Body = bodyStr.("Sheet1").Range("B45:I107") <-----------------
    >>> Tried this to no avail also
    >>> .HTMLBody = SheetToHTML(ActiveSheet) ' <----------------- WANT
    >>> TO SET THIS TO SEND IN BODY AS HTML ONLY RANGE("B45:I107") NOT WHOLE
    >>> SHEET
    >>> ' .Attachments.Add () Add a file address here to add an attachment
    >>> later
    >>> .Display '.send to auto send without prompting
    >>> End With
    >>> Application.ScreenUpdating = True
    >>> Set OutMail = Nothing
    >>> Set OutApp = Nothing
    >>> End Sub
    >>>
    >>>
    >>> I looked at the 'Set source = Selection' but i could not get it to work
    >>> either.
    >>>
    >>> Any idea's ?
    >>>
    >>>
    >>> Corey....
    >>> "Norman Jones" <[email protected]> wrote in message
    >>> news:[email protected]...
    >>>> Hi Corey,
    >>>>
    >>>>> I can see the code there, but cannot still find the code to Select
    >>>>> ONLY cells say (B45:I107)
    >>>>>
    >>>>> Is it there some where, as i cannot see any reference to cell ranges.
    >>>>
    >>>> The suggested code includes the line:
    >>>>
    >>>> Set source = Selection
    >>>>
    >>>> Try changing Selection to your required range.
    >>>>
    >>>>
    >>>> ---
    >>>> Regards,
    >>>> Norman
    >>>>
    >>>>
    >>>> "Corey" <[email protected]> wrote in message
    >>>> news:[email protected]...
    >>>>> Thanks.
    >>>>> I can see the code there, but cannot still find the code to Select
    >>>>> ONLY cells say (B45:I107)
    >>>>>
    >>>>> Is it there some where, as i cannot see any reference to cell ranges.
    >>>>>
    >>>>> Corey....
    >>>>>
    >>>>> "Norman Jones" <[email protected]> wrote in message
    >>>>> news:[email protected]...
    >>>>>> Hi Corey,
    >>>>>>
    >>>>>> See Ron de Bruin's example code at:
    >>>>>>
    >>>>>> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>>>>>
    >>>>>>
    >>>>>> ---
    >>>>>> Regards,
    >>>>>> Norman
    >>>>>>
    >>>>>>
    >>>>>> "Corey" <[email protected]> wrote in message
    >>>>>> news:[email protected]...
    >>>>>>
    >>>>>> I want to adapt this:
    >>>>>> .HTMLBody = SheetToHTML(ActiveSheet)
    >>>>>>
    >>>>>> How can i only have a selected range of cells, or a selected page
    >>>>>> sent in the body of an email instaed of the entire sheet as it
    >>>>>> currently does?
    >>>>>> Any idea's ??
    >>>>>>
    >>>>>> I want to send a range of ("A45:I107") or
    >>>>>> Page 1
    >>>>>>
    >>>>>>
    >>>>>> Corey....
    >>>>>>
    >>>>>
    >>>>>
    >>>>
    >>>>
    >>>
    >>>

    >>
    >>

    >
    >




  5. #5
    Ron de Bruin
    Guest

    Re: Sending ONLY Range or Page x, BUT not entire Activesheet, How ?

    Please read

    >> Look at this link
    >> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>
    >> You see this line in the code
    >> Set source = Selection
    >>
    >> Change that to
    >>
    >> Set source = ThisWorkbook.Sheets("Sheet1").Range("B45:I107")
    >>
    >> Note that I use the Function RangetoHTML in this example




    --
    Regards Ron De Bruin
    http://www.rondebruin.nl



    "Corey" <[email protected]> wrote in message news:%[email protected]...
    > Thanks Ron.
    > I put this in the code, but still get the whole sheet in the email body.
    > Do i drop off somehting here ?
    >
    > .HTMLBody = SheetToHTML(ActiveSheet) <-----
    >
    >
    > Corey....
    > "Ron de Bruin" <[email protected]> wrote in message news:[email protected]...
    >> Hi Corey
    >>
    >> Look at this link
    >> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>
    >> You see this line in the code
    >> Set source = Selection
    >>
    >> Change that to
    >>
    >> Set source = ThisWorkbook.Sheets("Sheet1").Range("B45:I107")
    >>
    >> Note that I use the Function RangetoHTML in this example
    >>
    >>
    >> --
    >> Regards Ron De Bruin
    >> http://www.rondebruin.nl
    >>
    >>
    >>
    >> "Corey" <[email protected]> wrote in message news:[email protected]...
    >>> Thnaks again Norman, but i cannot get ONLY a range of cells to email instead of the whole activesheet.
    >>>
    >>> Code current below:
    >>>
    >>> Dim OutApp As Outlook.Application
    >>> Dim OutMail As Outlook.MailItem
    >>> Application.ScreenUpdating = False
    >>> Set OutApp = CreateObject("Outlook.Application")
    >>> Set OutMail = OutApp.CreateItem(olMailItem)
    >>> With OutMail
    >>> .To = ThisWorkbook.Sheets("Sheet1").Range("B53").Value ' address in sheet
    >>> .CC = ThisWorkbook.Sheets("Sheet1").Range("E53").Value ' cc address in sheet
    >>> .BCC = ""
    >>> .Subject = ThisWorkbook.Sheets("Sheet1").Range("B55").Value ' subject line info in sheet
    >>> ' .Body = bodyStr.("Sheet1").Range("B45:I107") <----------------- Tried this to no avail also
    >>> .HTMLBody = SheetToHTML(ActiveSheet) ' <----------------- WANT TO SET THIS TO SEND IN BODY AS HTML ONLY
    >>> RANGE("B45:I107") NOT WHOLE SHEET
    >>> ' .Attachments.Add () Add a file address here to add an attachment later
    >>> .Display '.send to auto send without prompting
    >>> End With
    >>> Application.ScreenUpdating = True
    >>> Set OutMail = Nothing
    >>> Set OutApp = Nothing
    >>> End Sub
    >>>
    >>>
    >>> I looked at the 'Set source = Selection' but i could not get it to work either.
    >>>
    >>> Any idea's ?
    >>>
    >>>
    >>> Corey....
    >>> "Norman Jones" <[email protected]> wrote in message news:[email protected]...
    >>>> Hi Corey,
    >>>>
    >>>>> I can see the code there, but cannot still find the code to Select ONLY cells say (B45:I107)
    >>>>>
    >>>>> Is it there some where, as i cannot see any reference to cell ranges.
    >>>>
    >>>> The suggested code includes the line:
    >>>>
    >>>> Set source = Selection
    >>>>
    >>>> Try changing Selection to your required range.
    >>>>
    >>>>
    >>>> ---
    >>>> Regards,
    >>>> Norman
    >>>>
    >>>>
    >>>> "Corey" <[email protected]> wrote in message news:[email protected]...
    >>>>> Thanks.
    >>>>> I can see the code there, but cannot still find the code to Select ONLY cells say (B45:I107)
    >>>>>
    >>>>> Is it there some where, as i cannot see any reference to cell ranges.
    >>>>>
    >>>>> Corey....
    >>>>>
    >>>>> "Norman Jones" <[email protected]> wrote in message news:[email protected]...
    >>>>>> Hi Corey,
    >>>>>>
    >>>>>> See Ron de Bruin's example code at:
    >>>>>>
    >>>>>> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>>>>>
    >>>>>>
    >>>>>> ---
    >>>>>> Regards,
    >>>>>> Norman
    >>>>>>
    >>>>>>
    >>>>>> "Corey" <[email protected]> wrote in message news:[email protected]...
    >>>>>>
    >>>>>> I want to adapt this:
    >>>>>> .HTMLBody = SheetToHTML(ActiveSheet)
    >>>>>>
    >>>>>> How can i only have a selected range of cells, or a selected page sent in the body of an email instaed of the entire sheet as
    >>>>>> it currently does?
    >>>>>> Any idea's ??
    >>>>>>
    >>>>>> I want to send a range of ("A45:I107") or
    >>>>>> Page 1
    >>>>>>
    >>>>>>
    >>>>>> Corey....
    >>>>>>
    >>>>>
    >>>>>
    >>>>
    >>>>
    >>>
    >>>

    >>
    >>

    >
    >




  6. #6
    Ron de Bruin
    Guest

    Re: Sending ONLY Range or Page x, BUT not entire Activesheet, How ?

    Hi

    My advise is not correct

    Add this line
    Range("B45:I107").Select
    before
    Set source = Nothing

    I update the site soon with range example


    --
    Regards Ron De Bruin
    http://www.rondebruin.nl



    "Ron de Bruin" <[email protected]> wrote in message news:uCb6LJ%[email protected]...
    > Please read
    >
    >>> Look at this link
    >>> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>>
    >>> You see this line in the code
    >>> Set source = Selection
    >>>
    >>> Change that to
    >>>
    >>> Set source = ThisWorkbook.Sheets("Sheet1").Range("B45:I107")
    >>>
    >>> Note that I use the Function RangetoHTML in this example

    >
    >
    >
    > --
    > Regards Ron De Bruin
    > http://www.rondebruin.nl
    >
    >
    >
    > "Corey" <[email protected]> wrote in message news:%[email protected]...
    >> Thanks Ron.
    >> I put this in the code, but still get the whole sheet in the email body.
    >> Do i drop off somehting here ?
    >>
    >> .HTMLBody = SheetToHTML(ActiveSheet) <-----
    >>
    >>
    >> Corey....
    >> "Ron de Bruin" <[email protected]> wrote in message news:[email protected]...
    >>> Hi Corey
    >>>
    >>> Look at this link
    >>> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>>
    >>> You see this line in the code
    >>> Set source = Selection
    >>>
    >>> Change that to
    >>>
    >>> Set source = ThisWorkbook.Sheets("Sheet1").Range("B45:I107")
    >>>
    >>> Note that I use the Function RangetoHTML in this example
    >>>
    >>>
    >>> --
    >>> Regards Ron De Bruin
    >>> http://www.rondebruin.nl
    >>>
    >>>
    >>>
    >>> "Corey" <[email protected]> wrote in message news:[email protected]...
    >>>> Thnaks again Norman, but i cannot get ONLY a range of cells to email instead of the whole activesheet.
    >>>>
    >>>> Code current below:
    >>>>
    >>>> Dim OutApp As Outlook.Application
    >>>> Dim OutMail As Outlook.MailItem
    >>>> Application.ScreenUpdating = False
    >>>> Set OutApp = CreateObject("Outlook.Application")
    >>>> Set OutMail = OutApp.CreateItem(olMailItem)
    >>>> With OutMail
    >>>> .To = ThisWorkbook.Sheets("Sheet1").Range("B53").Value ' address in sheet
    >>>> .CC = ThisWorkbook.Sheets("Sheet1").Range("E53").Value ' cc address in sheet
    >>>> .BCC = ""
    >>>> .Subject = ThisWorkbook.Sheets("Sheet1").Range("B55").Value ' subject line info in sheet
    >>>> ' .Body = bodyStr.("Sheet1").Range("B45:I107") <----------------- Tried this to no avail also
    >>>> .HTMLBody = SheetToHTML(ActiveSheet) ' <----------------- WANT TO SET THIS TO SEND IN BODY AS HTML ONLY
    >>>> RANGE("B45:I107") NOT WHOLE SHEET
    >>>> ' .Attachments.Add () Add a file address here to add an attachment later
    >>>> .Display '.send to auto send without prompting
    >>>> End With
    >>>> Application.ScreenUpdating = True
    >>>> Set OutMail = Nothing
    >>>> Set OutApp = Nothing
    >>>> End Sub
    >>>>
    >>>>
    >>>> I looked at the 'Set source = Selection' but i could not get it to work either.
    >>>>
    >>>> Any idea's ?
    >>>>
    >>>>
    >>>> Corey....
    >>>> "Norman Jones" <[email protected]> wrote in message news:[email protected]...
    >>>>> Hi Corey,
    >>>>>
    >>>>>> I can see the code there, but cannot still find the code to Select ONLY cells say (B45:I107)
    >>>>>>
    >>>>>> Is it there some where, as i cannot see any reference to cell ranges.
    >>>>>
    >>>>> The suggested code includes the line:
    >>>>>
    >>>>> Set source = Selection
    >>>>>
    >>>>> Try changing Selection to your required range.
    >>>>>
    >>>>>
    >>>>> ---
    >>>>> Regards,
    >>>>> Norman
    >>>>>
    >>>>>
    >>>>> "Corey" <[email protected]> wrote in message news:[email protected]...
    >>>>>> Thanks.
    >>>>>> I can see the code there, but cannot still find the code to Select ONLY cells say (B45:I107)
    >>>>>>
    >>>>>> Is it there some where, as i cannot see any reference to cell ranges.
    >>>>>>
    >>>>>> Corey....
    >>>>>>
    >>>>>> "Norman Jones" <[email protected]> wrote in message news:[email protected]...
    >>>>>>> Hi Corey,
    >>>>>>>
    >>>>>>> See Ron de Bruin's example code at:
    >>>>>>>
    >>>>>>> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>>>>>>
    >>>>>>>
    >>>>>>> ---
    >>>>>>> Regards,
    >>>>>>> Norman
    >>>>>>>
    >>>>>>>
    >>>>>>> "Corey" <[email protected]> wrote in message news:[email protected]...
    >>>>>>>
    >>>>>>> I want to adapt this:
    >>>>>>> .HTMLBody = SheetToHTML(ActiveSheet)
    >>>>>>>
    >>>>>>> How can i only have a selected range of cells, or a selected page sent in the body of an email instaed of the entire sheet
    >>>>>>> as it currently does?
    >>>>>>> Any idea's ??
    >>>>>>>
    >>>>>>> I want to send a range of ("A45:I107") or
    >>>>>>> Page 1
    >>>>>>>
    >>>>>>>
    >>>>>>> Corey....
    >>>>>>>
    >>>>>>
    >>>>>>
    >>>>>
    >>>>>
    >>>>
    >>>>
    >>>
    >>>

    >>
    >>

    >
    >




  7. #7
    Corey
    Guest

    Re: Sending ONLY Range or Page x, BUT not entire Activesheet, How ?

    Ron,
    Tried the below, but I STILL get the entire worksheet being emailed and not
    the only the range selected.

    Code is below:

    Sub Macro3()
    '
    ' Macro3 Macro
    ' Macro recorded 24/06/2006 by Corey


    Dim OutApp As Outlook.Application
    Dim OutMail As Outlook.MailItem
    Application.ScreenUpdating = False
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(olMailItem)
    With OutMail
    .To = ThisWorkbook.Sheets("Sheet1").Range("B53").Value
    .CC = ThisWorkbook.Sheets("Sheet1").Range("E53").Value
    .BCC = ""
    .Subject = ThisWorkbook.Sheets("Sheet1").Range("B55").Value
    Range("B45:I107").Select '
    <---------------------
    Set source = Nothing '
    <-----------------------
    .Body = bodyStr
    .HTMLBody = RangetoHTML2
    ' .Attachments.Add () Add a file address here to add an attachment
    later
    .Display '.send to auto send without prompting
    End With
    Application.ScreenUpdating = True
    Set OutMail = Nothing
    Set OutApp = Nothing
    End Sub
    Public Function RangetoHTML2()
    ' You can't use this function in Excel 97
    Dim fso As Object
    Dim ts As Object
    Dim TempFile As String
    TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") &
    ".htm"
    With ActiveWorkbook.PublishObjects.Add( _
    SourceType:=xlSourceRange, _
    Filename:=TempFile, _
    Sheet:=ActiveSheet.Name, _
    source:=ActiveSheet.UsedRange.Address, _
    HtmlType:=xlHtmlStatic)
    .Publish (True)
    End With
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    RangetoHTML2 = ts.ReadAll
    ts.Close
    Set ts = Nothing
    Set fso = Nothing
    Kill TempFile
    End Function


    ??
    Corey....



    "Ron de Bruin" <[email protected]> wrote in message
    news:uEqv80%[email protected]...
    > Hi
    >
    > My advise is not correct
    >
    > Add this line
    > Range("B45:I107").Select
    > before
    > Set source = Nothing
    >
    > I update the site soon with range example
    >
    >
    > --
    > Regards Ron De Bruin
    > http://www.rondebruin.nl
    >
    >
    >
    > "Ron de Bruin" <[email protected]> wrote in message
    > news:uCb6LJ%[email protected]...
    >> Please read
    >>
    >>>> Look at this link
    >>>> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>>>
    >>>> You see this line in the code
    >>>> Set source = Selection
    >>>>
    >>>> Change that to
    >>>>
    >>>> Set source = ThisWorkbook.Sheets("Sheet1").Range("B45:I107")
    >>>>
    >>>> Note that I use the Function RangetoHTML in this example

    >>
    >>
    >>
    >> --
    >> Regards Ron De Bruin
    >> http://www.rondebruin.nl
    >>
    >>
    >>
    >> "Corey" <[email protected]> wrote in message
    >> news:%[email protected]...
    >>> Thanks Ron.
    >>> I put this in the code, but still get the whole sheet in the email body.
    >>> Do i drop off somehting here ?
    >>>
    >>> .HTMLBody = SheetToHTML(ActiveSheet) <-----
    >>>
    >>>
    >>> Corey....
    >>> "Ron de Bruin" <[email protected]> wrote in message
    >>> news:[email protected]...
    >>>> Hi Corey
    >>>>
    >>>> Look at this link
    >>>> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>>>
    >>>> You see this line in the code
    >>>> Set source = Selection
    >>>>
    >>>> Change that to
    >>>>
    >>>> Set source = ThisWorkbook.Sheets("Sheet1").Range("B45:I107")
    >>>>
    >>>> Note that I use the Function RangetoHTML in this example
    >>>>
    >>>>
    >>>> --
    >>>> Regards Ron De Bruin
    >>>> http://www.rondebruin.nl
    >>>>
    >>>>
    >>>>
    >>>> "Corey" <[email protected]> wrote in message
    >>>> news:[email protected]...
    >>>>> Thnaks again Norman, but i cannot get ONLY a range of cells to email
    >>>>> instead of the whole activesheet.
    >>>>>
    >>>>> Code current below:
    >>>>>
    >>>>> Dim OutApp As Outlook.Application
    >>>>> Dim OutMail As Outlook.MailItem
    >>>>> Application.ScreenUpdating = False
    >>>>> Set OutApp = CreateObject("Outlook.Application")
    >>>>> Set OutMail = OutApp.CreateItem(olMailItem)
    >>>>> With OutMail
    >>>>> .To = ThisWorkbook.Sheets("Sheet1").Range("B53").Value '
    >>>>> address in sheet
    >>>>> .CC = ThisWorkbook.Sheets("Sheet1").Range("E53").Value ' cc
    >>>>> address in sheet
    >>>>> .BCC = ""
    >>>>> .Subject = ThisWorkbook.Sheets("Sheet1").Range("B55").Value '
    >>>>> subject line info in sheet
    >>>>> ' .Body = bodyStr.("Sheet1").Range("B45:I107")
    >>>>> <----------------- Tried this to no avail also
    >>>>> .HTMLBody = SheetToHTML(ActiveSheet) ' <----------------- WANT
    >>>>> TO SET THIS TO SEND IN BODY AS HTML ONLY RANGE("B45:I107") NOT WHOLE
    >>>>> SHEET
    >>>>> ' .Attachments.Add () Add a file address here to add an attachment
    >>>>> later
    >>>>> .Display '.send to auto send without prompting
    >>>>> End With
    >>>>> Application.ScreenUpdating = True
    >>>>> Set OutMail = Nothing
    >>>>> Set OutApp = Nothing
    >>>>> End Sub
    >>>>>
    >>>>>
    >>>>> I looked at the 'Set source = Selection' but i could not get it to
    >>>>> work either.
    >>>>>
    >>>>> Any idea's ?
    >>>>>
    >>>>>
    >>>>> Corey....
    >>>>> "Norman Jones" <[email protected]> wrote in message
    >>>>> news:[email protected]...
    >>>>>> Hi Corey,
    >>>>>>
    >>>>>>> I can see the code there, but cannot still find the code to Select
    >>>>>>> ONLY cells say (B45:I107)
    >>>>>>>
    >>>>>>> Is it there some where, as i cannot see any reference to cell
    >>>>>>> ranges.
    >>>>>>
    >>>>>> The suggested code includes the line:
    >>>>>>
    >>>>>> Set source = Selection
    >>>>>>
    >>>>>> Try changing Selection to your required range.
    >>>>>>
    >>>>>>
    >>>>>> ---
    >>>>>> Regards,
    >>>>>> Norman
    >>>>>>
    >>>>>>
    >>>>>> "Corey" <[email protected]> wrote in message
    >>>>>> news:[email protected]...
    >>>>>>> Thanks.
    >>>>>>> I can see the code there, but cannot still find the code to Select
    >>>>>>> ONLY cells say (B45:I107)
    >>>>>>>
    >>>>>>> Is it there some where, as i cannot see any reference to cell
    >>>>>>> ranges.
    >>>>>>>
    >>>>>>> Corey....
    >>>>>>>
    >>>>>>> "Norman Jones" <[email protected]> wrote in message
    >>>>>>> news:[email protected]...
    >>>>>>>> Hi Corey,
    >>>>>>>>
    >>>>>>>> See Ron de Bruin's example code at:
    >>>>>>>>
    >>>>>>>> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>>>>>>>
    >>>>>>>>
    >>>>>>>> ---
    >>>>>>>> Regards,
    >>>>>>>> Norman
    >>>>>>>>
    >>>>>>>>
    >>>>>>>> "Corey" <[email protected]> wrote in message
    >>>>>>>> news:[email protected]...
    >>>>>>>>
    >>>>>>>> I want to adapt this:
    >>>>>>>> .HTMLBody = SheetToHTML(ActiveSheet)
    >>>>>>>>
    >>>>>>>> How can i only have a selected range of cells, or a selected page
    >>>>>>>> sent in the body of an email instaed of the entire sheet as it
    >>>>>>>> currently does?
    >>>>>>>> Any idea's ??
    >>>>>>>>
    >>>>>>>> I want to send a range of ("A45:I107") or
    >>>>>>>> Page 1
    >>>>>>>>
    >>>>>>>>
    >>>>>>>> Corey....
    >>>>>>>>
    >>>>>>>
    >>>>>>>
    >>>>>>
    >>>>>>
    >>>>>
    >>>>>
    >>>>
    >>>>
    >>>
    >>>

    >>
    >>

    >
    >




  8. #8
    Norman Jones
    Guest

    Re: Sending ONLY Range or Page x, BUT not entire Activesheet, How ?

    Hi Corey,

    Try something like:

    Sub Mail_Selection_Outlook_Body()
    ' You must add a reference to the Microsoft outlook Library
    ' Don't forget to copy the function RangetoHTML in the module.
    ' Is not working in Office 97
    Dim source As Range
    Dim OutApp As Outlook.Application
    Dim OutMail As Outlook.MailItem

    Set source = Nothing
    On Error Resume Next
    Set source = ThisWorkbook.Sheets("Sheet1").Range("A1:D20")
    On Error GoTo 0
    If source Is Nothing Then
    MsgBox "The selection is not a range or the sheet is protect" & _
    vbNewLine & "please correct and try again.", vbOKOnly
    Exit Sub
    End If

    If ActiveWindow.SelectedSheets.Count > 1 Or _
    source.Cells.Count = 1 Or _
    source.Areas.Count > 1 Then
    MsgBox "An Error occurred :" & vbNewLine & vbNewLine & _
    "You have more than one sheet selected." & vbNewLine & _
    "You only selected one cell." & vbNewLine & _
    "You selected more than one area." & vbNewLine & vbNewLine &
    _
    "Please correct and try again.", vbOKOnly
    Exit Sub
    End If

    Application.ScreenUpdating = False
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(olMailItem)
    With OutMail
    .To = ThisWorkbook.Sheets("Sheet1").Range("B53").Value
    .CC = ThisWorkbook.Sheets("Sheet1").Range("E53").Value
    .BCC = ""
    .Subject = ThisWorkbook.Sheets("Sheet1").Range("B55").Value
    .HTMLBody = RangetoHTML(source)
    .Send 'or use .Display
    End With

    Set OutMail = Nothing
    Set OutApp = Nothing
    Application.ScreenUpdating = True
    End Sub


    Public Function RangetoHTML(source As Range)
    ' You can't use this function in Excel 97
    Dim fso As Object
    Dim ts As Object
    Dim TempFile As String
    TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") &
    ".htm"
    With ActiveWorkbook.PublishObjects.Add( _
    SourceType:=xlSourceRange, _
    Filename:=TempFile, _
    Sheet:=ActiveSheet.Name, _
    source:=source.Address, _
    HtmlType:=xlHtmlStatic)
    .Publish (True)
    End With
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    RangetoHTML = ts.ReadAll
    ts.Close
    Set ts = Nothing
    Set fso = Nothing
    Kill TempFile
    End Function


    ---
    Regards,
    Norman



    "Corey" <[email protected]> wrote in message
    news:%[email protected]...
    > Thanks Ron.
    > I put this in the code, but still get the whole sheet in the email body.
    > Do i drop off somehting here ?
    >
    > .HTMLBody = SheetToHTML(ActiveSheet) <-----
    >
    >
    > Corey....
    > "Ron de Bruin" <[email protected]> wrote in message
    > news:[email protected]...
    >> Hi Corey
    >>
    >> Look at this link
    >> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>
    >> You see this line in the code
    >> Set source = Selection
    >>
    >> Change that to
    >>
    >> Set source = ThisWorkbook.Sheets("Sheet1").Range("B45:I107")
    >>
    >> Note that I use the Function RangetoHTML in this example
    >>
    >>
    >> --
    >> Regards Ron De Bruin
    >> http://www.rondebruin.nl
    >>
    >>
    >>
    >> "Corey" <[email protected]> wrote in message
    >> news:[email protected]...
    >>> Thnaks again Norman, but i cannot get ONLY a range of cells to email
    >>> instead of the whole activesheet.
    >>>
    >>> Code current below:
    >>>
    >>> Dim OutApp As Outlook.Application
    >>> Dim OutMail As Outlook.MailItem
    >>> Application.ScreenUpdating = False
    >>> Set OutApp = CreateObject("Outlook.Application")
    >>> Set OutMail = OutApp.CreateItem(olMailItem)
    >>> With OutMail
    >>> .To = ThisWorkbook.Sheets("Sheet1").Range("B53").Value ' address
    >>> in sheet
    >>> .CC = ThisWorkbook.Sheets("Sheet1").Range("E53").Value ' cc
    >>> address in sheet
    >>> .BCC = ""
    >>> .Subject = ThisWorkbook.Sheets("Sheet1").Range("B55").Value '
    >>> subject line info in sheet
    >>> ' .Body = bodyStr.("Sheet1").Range("B45:I107") <-----------------
    >>> Tried this to no avail also
    >>> .HTMLBody = SheetToHTML(ActiveSheet) ' <----------------- WANT
    >>> TO SET THIS TO SEND IN BODY AS HTML ONLY RANGE("B45:I107") NOT WHOLE
    >>> SHEET
    >>> ' .Attachments.Add () Add a file address here to add an attachment
    >>> later
    >>> .Display '.send to auto send without prompting
    >>> End With
    >>> Application.ScreenUpdating = True
    >>> Set OutMail = Nothing
    >>> Set OutApp = Nothing
    >>> End Sub
    >>>
    >>>
    >>> I looked at the 'Set source = Selection' but i could not get it to work
    >>> either.
    >>>
    >>> Any idea's ?
    >>>
    >>>
    >>> Corey....
    >>> "Norman Jones" <[email protected]> wrote in message
    >>> news:[email protected]...
    >>>> Hi Corey,
    >>>>
    >>>>> I can see the code there, but cannot still find the code to Select
    >>>>> ONLY cells say (B45:I107)
    >>>>>
    >>>>> Is it there some where, as i cannot see any reference to cell ranges.
    >>>>
    >>>> The suggested code includes the line:
    >>>>
    >>>> Set source = Selection
    >>>>
    >>>> Try changing Selection to your required range.
    >>>>
    >>>>
    >>>> ---
    >>>> Regards,
    >>>> Norman
    >>>>
    >>>>
    >>>> "Corey" <[email protected]> wrote in message
    >>>> news:[email protected]...
    >>>>> Thanks.
    >>>>> I can see the code there, but cannot still find the code to Select
    >>>>> ONLY cells say (B45:I107)
    >>>>>
    >>>>> Is it there some where, as i cannot see any reference to cell ranges.
    >>>>>
    >>>>> Corey....
    >>>>>
    >>>>> "Norman Jones" <[email protected]> wrote in message
    >>>>> news:[email protected]...
    >>>>>> Hi Corey,
    >>>>>>
    >>>>>> See Ron de Bruin's example code at:
    >>>>>>
    >>>>>> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>>>>>
    >>>>>>
    >>>>>> ---
    >>>>>> Regards,
    >>>>>> Norman
    >>>>>>
    >>>>>>
    >>>>>> "Corey" <[email protected]> wrote in message
    >>>>>> news:[email protected]...
    >>>>>>
    >>>>>> I want to adapt this:
    >>>>>> .HTMLBody = SheetToHTML(ActiveSheet)
    >>>>>>
    >>>>>> How can i only have a selected range of cells, or a selected page
    >>>>>> sent in the body of an email instaed of the entire sheet as it
    >>>>>> currently does?
    >>>>>> Any idea's ??
    >>>>>>
    >>>>>> I want to send a range of ("A45:I107") or
    >>>>>> Page 1
    >>>>>>
    >>>>>>
    >>>>>> Corey....
    >>>>>>
    >>>>>
    >>>>>
    >>>>
    >>>>
    >>>
    >>>

    >>
    >>

    >
    >




  9. #9
    Corey
    Guest

    Re: Sending ONLY Range or Page x, BUT not entire Activesheet, How ?

    Norman,
    I tried the code you posted below but get an error as below:




    "Norman Jones" <[email protected]> wrote in message
    news:ObHrPL%[email protected]...
    > Hi Corey,
    >
    > Try something like:
    >
    > Sub Mail_Selection_Outlook_Body()
    > ' You must add a reference to the Microsoft outlook Library
    > ' Don't forget to copy the function RangetoHTML in the module.
    > ' Is not working in Office 97
    > Dim source As Range
    > Dim OutApp As Outlook.Application
    > Dim OutMail As Outlook.MailItem
    >
    > Set source = Nothing
    > On Error Resume Next
    > Set source = ThisWorkbook.Sheets("Sheet1").Range("A1:D20")
    > On Error GoTo 0
    > If source Is Nothing Then
    > MsgBox "The selection is not a range or the sheet is protect" & _
    > vbNewLine & "please correct and try again.", vbOKOnly
    > Exit Sub
    > End If
    >
    > If ActiveWindow.SelectedSheets.Count > 1 Or _
    > source.Cells.Count = 1 Or _
    > source.Areas.Count > 1 Then
    > MsgBox "An Error occurred :" & vbNewLine & vbNewLine & _ '
    > <---------------- I GET A SYNTAX ERROR HERE....... ?
    > "You have more than one sheet selected." & vbNewLine & _
    > "You only selected one cell." & vbNewLine & _
    > "You selected more than one area." & vbNewLine & vbNewLine &
    > _
    > "Please correct and try again.", vbOKOnly
    > <------------------ TO HERE.....
    > Exit Sub
    > End If
    >
    > Application.ScreenUpdating = False
    > Set OutApp = CreateObject("Outlook.Application")
    > Set OutMail = OutApp.CreateItem(olMailItem)
    > With OutMail
    > .To = ThisWorkbook.Sheets("Sheet1").Range("B53").Value
    > .CC = ThisWorkbook.Sheets("Sheet1").Range("E53").Value
    > .BCC = ""
    > .Subject = ThisWorkbook.Sheets("Sheet1").Range("B55").Value
    > .HTMLBody = RangetoHTML(source)
    > .Send 'or use .Display
    > End With
    >
    > Set OutMail = Nothing
    > Set OutApp = Nothing
    > Application.ScreenUpdating = True
    > End Sub
    >
    >
    > Public Function RangetoHTML(source As Range)
    > ' You can't use this function in Excel 97
    > Dim fso As Object
    > Dim ts As Object
    > Dim TempFile As String
    > TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") &
    > ".htm"
    > With ActiveWorkbook.PublishObjects.Add( _
    > SourceType:=xlSourceRange, _
    > Filename:=TempFile, _
    > Sheet:=ActiveSheet.Name, _
    > source:=source.Address, _
    > HtmlType:=xlHtmlStatic)
    > .Publish (True)
    > End With
    > Set fso = CreateObject("Scripting.FileSystemObject")
    > Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    > RangetoHTML = ts.ReadAll
    > ts.Close
    > Set ts = Nothing
    > Set fso = Nothing
    > Kill TempFile
    > End Function
    >
    >
    > ---
    > Regards,
    > Norman
    >
    >
    >
    > "Corey" <[email protected]> wrote in message
    > news:%[email protected]...
    >> Thanks Ron.
    >> I put this in the code, but still get the whole sheet in the email body.
    >> Do i drop off somehting here ?
    >>
    >> .HTMLBody = SheetToHTML(ActiveSheet) <-----
    >>
    >>
    >> Corey....
    >> "Ron de Bruin" <[email protected]> wrote in message
    >> news:[email protected]...
    >>> Hi Corey
    >>>
    >>> Look at this link
    >>> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>>
    >>> You see this line in the code
    >>> Set source = Selection
    >>>
    >>> Change that to
    >>>
    >>> Set source = ThisWorkbook.Sheets("Sheet1").Range("B45:I107")
    >>>
    >>> Note that I use the Function RangetoHTML in this example
    >>>
    >>>
    >>> --
    >>> Regards Ron De Bruin
    >>> http://www.rondebruin.nl
    >>>
    >>>
    >>>
    >>> "Corey" <[email protected]> wrote in message
    >>> news:[email protected]...
    >>>> Thnaks again Norman, but i cannot get ONLY a range of cells to email
    >>>> instead of the whole activesheet.
    >>>>
    >>>> Code current below:
    >>>>
    >>>> Dim OutApp As Outlook.Application
    >>>> Dim OutMail As Outlook.MailItem
    >>>> Application.ScreenUpdating = False
    >>>> Set OutApp = CreateObject("Outlook.Application")
    >>>> Set OutMail = OutApp.CreateItem(olMailItem)
    >>>> With OutMail
    >>>> .To = ThisWorkbook.Sheets("Sheet1").Range("B53").Value '
    >>>> address in sheet
    >>>> .CC = ThisWorkbook.Sheets("Sheet1").Range("E53").Value ' cc
    >>>> address in sheet
    >>>> .BCC = ""
    >>>> .Subject = ThisWorkbook.Sheets("Sheet1").Range("B55").Value '
    >>>> subject line info in sheet
    >>>> ' .Body = bodyStr.("Sheet1").Range("B45:I107")
    >>>> <----------------- Tried this to no avail also
    >>>> .HTMLBody = SheetToHTML(ActiveSheet) ' <----------------- WANT
    >>>> TO SET THIS TO SEND IN BODY AS HTML ONLY RANGE("B45:I107") NOT WHOLE
    >>>> SHEET
    >>>> ' .Attachments.Add () Add a file address here to add an attachment
    >>>> later
    >>>> .Display '.send to auto send without prompting
    >>>> End With
    >>>> Application.ScreenUpdating = True
    >>>> Set OutMail = Nothing
    >>>> Set OutApp = Nothing
    >>>> End Sub
    >>>>
    >>>>
    >>>> I looked at the 'Set source = Selection' but i could not get it to work
    >>>> either.
    >>>>
    >>>> Any idea's ?
    >>>>
    >>>>
    >>>> Corey....
    >>>> "Norman Jones" <[email protected]> wrote in message
    >>>> news:[email protected]...
    >>>>> Hi Corey,
    >>>>>
    >>>>>> I can see the code there, but cannot still find the code to Select
    >>>>>> ONLY cells say (B45:I107)
    >>>>>>
    >>>>>> Is it there some where, as i cannot see any reference to cell ranges.
    >>>>>
    >>>>> The suggested code includes the line:
    >>>>>
    >>>>> Set source = Selection
    >>>>>
    >>>>> Try changing Selection to your required range.
    >>>>>
    >>>>>
    >>>>> ---
    >>>>> Regards,
    >>>>> Norman
    >>>>>
    >>>>>
    >>>>> "Corey" <[email protected]> wrote in message
    >>>>> news:[email protected]...
    >>>>>> Thanks.
    >>>>>> I can see the code there, but cannot still find the code to Select
    >>>>>> ONLY cells say (B45:I107)
    >>>>>>
    >>>>>> Is it there some where, as i cannot see any reference to cell ranges.
    >>>>>>
    >>>>>> Corey....
    >>>>>>
    >>>>>> "Norman Jones" <[email protected]> wrote in message
    >>>>>> news:[email protected]...
    >>>>>>> Hi Corey,
    >>>>>>>
    >>>>>>> See Ron de Bruin's example code at:
    >>>>>>>
    >>>>>>> http://www.rondebruin.nl/mail/folder3/mail4.htm
    >>>>>>>
    >>>>>>>
    >>>>>>> ---
    >>>>>>> Regards,
    >>>>>>> Norman
    >>>>>>>
    >>>>>>>
    >>>>>>> "Corey" <[email protected]> wrote in message
    >>>>>>> news:[email protected]...
    >>>>>>>
    >>>>>>> I want to adapt this:
    >>>>>>> .HTMLBody = SheetToHTML(ActiveSheet)
    >>>>>>>
    >>>>>>> How can i only have a selected range of cells, or a selected page
    >>>>>>> sent in the body of an email instaed of the entire sheet as it
    >>>>>>> currently does?
    >>>>>>> Any idea's ??
    >>>>>>>
    >>>>>>> I want to send a range of ("A45:I107") or
    >>>>>>> Page 1
    >>>>>>>
    >>>>>>>
    >>>>>>> Corey....
    >>>>>>>
    >>>>>>
    >>>>>>
    >>>>>
    >>>>>
    >>>>
    >>>>
    >>>
    >>>

    >>
    >>

    >
    >




  10. #10
    Norman Jones
    Guest

    Re: Sending ONLY Range or Page x, BUT not entire Activesheet, How ?

    Hi Corey,

    > I tried the code you posted below but get an error as below:


    >> <---------------- I GET A SYNTAX ERROR HERE....... ?
    >> "You have more than one sheet selected." & vbNewLine & _
    >> "You only selected one cell." & vbNewLine & _
    >> "You selected more than one area." & vbNewLine & vbNewLine
    >> & _
    >> "Please correct and try again.", vbOKOnly
    >> <------------------ TO HERE



    The suggsted code works for me.

    Your problem is merely one of line breaeks: the problem section was intended
    as a single line of code separated by the underscore line break character.

    Replace the problem lines by copymg and pasting the following:

    MsgBox "An Error occurred :" _
    & vbNewLine & vbNewLine _
    & "You have more than one sheet selected." _
    & vbNewLine & "You only selected one cell." _
    & vbNewLine & "You selected more than one area." _
    & vbNewLine & vbNewLine _
    & "Please correct and try again.", vbOKOnly


    ---
    Regards,
    Norman



  11. #11
    Corey
    Guest

    Re: Sending ONLY Range or Page x, BUT not entire Activesheet, How ?

    Thanks You Norman and Ron.
    Your last post corrected the syntax error i was getting.

    Macro worked exactly as required.

    Thanks for your help, appreciate it very much.

    I can now move another post i need to fix.

    Regards
    Corey....
    "Norman Jones" <[email protected]> wrote in message
    news:[email protected]...
    > Hi Corey,
    >
    >> I tried the code you posted below but get an error as below:

    >
    >>> <---------------- I GET A SYNTAX ERROR HERE....... ?
    >>> "You have more than one sheet selected." & vbNewLine & _
    >>> "You only selected one cell." & vbNewLine & _
    >>> "You selected more than one area." & vbNewLine & vbNewLine
    >>> & _
    >>> "Please correct and try again.", vbOKOnly
    >>> <------------------ TO HERE

    >
    >
    > The suggsted code works for me.
    >
    > Your problem is merely one of line breaeks: the problem section was
    > intended as a single line of code separated by the underscore line break
    > character.
    >
    > Replace the problem lines by copymg and pasting the following:
    >
    > MsgBox "An Error occurred :" _
    > & vbNewLine & vbNewLine _
    > & "You have more than one sheet selected." _
    > & vbNewLine & "You only selected one cell." _
    > & vbNewLine & "You selected more than one area." _
    > & vbNewLine & vbNewLine _
    > & "Please correct and try again.", vbOKOnly
    >
    >
    > ---
    > Regards,
    > Norman
    >




+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1