Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Is there a way to attach a single worksheet from an Excel workbook to an
Outlook email? I have a workbook with multiple worksheets, each of which must attach to a different email. The following code is in Outlook (to avoid the dreaded Outlook OMG) and works fine as far as creating & sending the emails but, for each sheet in the array, I need to attach a copy of the sheet. I'm hoping to avoid saving each sheet as a separate workbook but suspect I'm tilting at windmills. The "Attachments.Add" line is one of many vain attempts I've made. This one, as many others, returns Run-time error '438': Object doesn't support this property or method. I posted this to the Outlook group but had an MVP there suggest I try the Excel group. Dim XL As Object Dim Sht As Worksheet Dim EmlMsg As MailItem On Error Resume Next Set XL = GetObject(, "Excel.Application") If XL Is Nothing Then Set XL = CreateObject("Excel.Application") End If On Error GoTo 0 XL.Visible = True XL.Workbooks.Open FileName:="Whatever.xls" ' Send e-mails For Each Sht In XL.Sheets(Array("OPC", "BP", "WH", "CR", "Oper", "Eng")) Sht.Activate Set EmlMsg = CreateItem(0) With EmlMsg .To = XL.VLookup(XL.Range("I1"), XL.Range("DstMgrEml"), 2, False) .Subject = "Something Clever" .Body = XL.VLookup(XL.Range("I1"), XL.Range("DstMgrEml"), 3, False) _ & "," & XL.Worksheets("Managers").Range("D8") .Save .Attachments.Add XL.Workbook.ActiveSheet .Send End With Set EmlMsg = Nothing Next Sht Thanks. -- Will |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
All the methods can be found here http://www.rondebruin.nl/sendmail.htm Mike "wpiet" wrote: Is there a way to attach a single worksheet from an Excel workbook to an Outlook email? I have a workbook with multiple worksheets, each of which must attach to a different email. The following code is in Outlook (to avoid the dreaded Outlook OMG) and works fine as far as creating & sending the emails but, for each sheet in the array, I need to attach a copy of the sheet. I'm hoping to avoid saving each sheet as a separate workbook but suspect I'm tilting at windmills. The "Attachments.Add" line is one of many vain attempts I've made. This one, as many others, returns Run-time error '438': Object doesn't support this property or method. I posted this to the Outlook group but had an MVP there suggest I try the Excel group. Dim XL As Object Dim Sht As Worksheet Dim EmlMsg As MailItem On Error Resume Next Set XL = GetObject(, "Excel.Application") If XL Is Nothing Then Set XL = CreateObject("Excel.Application") End If On Error GoTo 0 XL.Visible = True XL.Workbooks.Open FileName:="Whatever.xls" ' Send e-mails For Each Sht In XL.Sheets(Array("OPC", "BP", "WH", "CR", "Oper", "Eng")) Sht.Activate Set EmlMsg = CreateItem(0) With EmlMsg .To = XL.VLookup(XL.Range("I1"), XL.Range("DstMgrEml"), 2, False) .Subject = "Something Clever" .Body = XL.VLookup(XL.Range("I1"), XL.Range("DstMgrEml"), 3, False) _ & "," & XL.Worksheets("Managers").Range("D8") .Save .Attachments.Add XL.Workbook.ActiveSheet .Send End With Set EmlMsg = Nothing Next Sht Thanks. -- Will |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks, Mike.
-- Will "Mike H" wrote: Hi, All the methods can be found here http://www.rondebruin.nl/sendmail.htm Mike "wpiet" wrote: Is there a way to attach a single worksheet from an Excel workbook to an Outlook email? I have a workbook with multiple worksheets, each of which must attach to a different email. The following code is in Outlook (to avoid the dreaded Outlook OMG) and works fine as far as creating & sending the emails but, for each sheet in the array, I need to attach a copy of the sheet. I'm hoping to avoid saving each sheet as a separate workbook but suspect I'm tilting at windmills. The "Attachments.Add" line is one of many vain attempts I've made. This one, as many others, returns Run-time error '438': Object doesn't support this property or method. I posted this to the Outlook group but had an MVP there suggest I try the Excel group. Dim XL As Object Dim Sht As Worksheet Dim EmlMsg As MailItem On Error Resume Next Set XL = GetObject(, "Excel.Application") If XL Is Nothing Then Set XL = CreateObject("Excel.Application") End If On Error GoTo 0 XL.Visible = True XL.Workbooks.Open FileName:="Whatever.xls" ' Send e-mails For Each Sht In XL.Sheets(Array("OPC", "BP", "WH", "CR", "Oper", "Eng")) Sht.Activate Set EmlMsg = CreateItem(0) With EmlMsg .To = XL.VLookup(XL.Range("I1"), XL.Range("DstMgrEml"), 2, False) .Subject = "Something Clever" .Body = XL.VLookup(XL.Range("I1"), XL.Range("DstMgrEml"), 3, False) _ & "," & XL.Worksheets("Managers").Range("D8") .Save .Attachments.Add XL.Workbook.ActiveSheet .Send End With Set EmlMsg = Nothing Next Sht Thanks. -- Will |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Email a single Excel worksheet instead of the whole workbook. | Excel Discussion (Misc queries) | |||
How do I email one Excel worksheet and not the entire workbook | Excel Discussion (Misc queries) | |||
Can you email a single worksheet in a workbook in Excel 2007? | Excel Worksheet Functions | |||
Email only one worksheet in workbook - Can I? | Excel Discussion (Misc queries) | |||
Email a worksheet vs workbook | Excel Discussion (Misc queries) |