![]() |
sending one sheet by e-mail
Excel '97
This is what I am trying to do: With my file open - add a new sheet, copy stuff onto it, move that sheet into a new file and then send that file in .csv format. The code below works fine but asks "Do you want to save changes before switching file status?" Sub Createandsendfile() Dim OutApp As Outlook.Application Dim OutMail As Outlook.MailItem Dim wb As Workbook 'Application.DisplayAlerts = False Application.ScreenUpdating = False Sheets.Add ' code to add data to the new sheet from several sheets in the file ' new sheet is then put in a new file ActiveSheet.Move Set wb = ActiveWorkbook With wb ..SaveAs FileName:="my new file", FileFormat:=xlCSV Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(olMailItem) With OutMail ..To = " ..Subject = "e-mail subject" ..Attachments.Add wb.FullName ..Send End With ..ChangeFileAccess xlReadOnly Kill .FullName ..Close False End With Set OutMail = Nothing Set OutApp = Nothing Application.ScreenUpdating = True 'Application.DisplayAlerts = True End Sub I put displayalerts to false but then the SaveAs dialog box is displayed. Can anyone please help? Gareth |
sending one sheet by e-mail
I have found out what the problem is but cannot fix it
myself. The problem is switching from .xls to .csv! Gareth -----Original Message----- Excel '97 This is what I am trying to do: With my file open - add a new sheet, copy stuff onto it, move that sheet into a new file and then send that file in .csv format. The code below works fine but asks "Do you want to save changes before switching file status?" Sub Createandsendfile() Dim OutApp As Outlook.Application Dim OutMail As Outlook.MailItem Dim wb As Workbook 'Application.DisplayAlerts = False Application.ScreenUpdating = False Sheets.Add ' code to add data to the new sheet from several sheets in the file ' new sheet is then put in a new file ActiveSheet.Move Set wb = ActiveWorkbook With wb ..SaveAs FileName:="my new file", FileFormat:=xlCSV Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(olMailItem) With OutMail ..To = " ..Subject = "e-mail subject" ..Attachments.Add wb.FullName ..Send End With ..ChangeFileAccess xlReadOnly Kill .FullName ..Close False End With Set OutMail = Nothing Set OutApp = Nothing Application.ScreenUpdating = True 'Application.DisplayAlerts = True End Sub I put displayalerts to false but then the SaveAs dialog box is displayed. Can anyone please help? Gareth . |
sending one sheet by e-mail
Hi Gareth
Use this This example send the activesheet You can change it to your situation Sub Createandsendfile() Dim OutApp As Outlook.Application Dim OutMail As Outlook.MailItem Dim wb As Workbook Application.ScreenUpdating = False ActiveSheet.Copy Set wb = ActiveWorkbook With wb ..SaveAs Filename:="c:\my new file", FileFormat:=xlCSV Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(olMailItem) With OutMail ..To = " ..Subject = "e-mail subject" ..Attachments.Add wb.FullName ..display End With ..Close False Kill "c:\my new file.csv" End With Set OutMail = Nothing Set OutApp = Nothing Application.ScreenUpdating = True End Sub -- Regards Ron de Bruin (Win XP Pro SP-1 XL2002 SP-2) www.rondebruin.nl "gareth" wrote in message ... Excel '97 This is what I am trying to do: With my file open - add a new sheet, copy stuff onto it, move that sheet into a new file and then send that file in .csv format. The code below works fine but asks "Do you want to save changes before switching file status?" Sub Createandsendfile() Dim OutApp As Outlook.Application Dim OutMail As Outlook.MailItem Dim wb As Workbook 'Application.DisplayAlerts = False Application.ScreenUpdating = False Sheets.Add ' code to add data to the new sheet from several sheets in the file ' new sheet is then put in a new file ActiveSheet.Move Set wb = ActiveWorkbook With wb .SaveAs FileName:="my new file", FileFormat:=xlCSV Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(olMailItem) With OutMail .To = " .Subject = "e-mail subject" .Attachments.Add wb.FullName .Send End With .ChangeFileAccess xlReadOnly Kill .FullName .Close False End With Set OutMail = Nothing Set OutApp = Nothing Application.ScreenUpdating = True 'Application.DisplayAlerts = True End Sub I put displayalerts to false but then the SaveAs dialog box is displayed. Can anyone please help? Gareth |
sending one sheet by e-mail
Sub Createandsendfile()
Dim OutApp As Outlook.Application Dim OutMail As Outlook.MailItem Dim wb As Workbook, sName as String 'Application.DisplayAlerts = False Application.ScreenUpdating = False Sheets.Add ' code to add data to the new sheet from several sheets in the file ' new sheet is then put in a new file ActiveSheet.Move Set wb = ActiveWorkbook With wb ..SaveAs FileName:="my new file", FileFormat:=xlCSV sName = .FullName ..Close SaveChanges:=False End With Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(olMailItem) With OutMail ..To = " ..Subject = "e-mail subject" ..Attachments.Add sName ..Send End With Kill sName Set OutMail = Nothing Set OutApp = Nothing Application.ScreenUpdating = True 'Application.DisplayAlerts = True End Sub -- Regards, Tom Ogilvy "gareth" wrote in message ... Excel '97 This is what I am trying to do: With my file open - add a new sheet, copy stuff onto it, move that sheet into a new file and then send that file in .csv format. The code below works fine but asks "Do you want to save changes before switching file status?" Sub Createandsendfile() Dim OutApp As Outlook.Application Dim OutMail As Outlook.MailItem Dim wb As Workbook 'Application.DisplayAlerts = False Application.ScreenUpdating = False Sheets.Add ' code to add data to the new sheet from several sheets in the file ' new sheet is then put in a new file ActiveSheet.Move Set wb = ActiveWorkbook With wb .SaveAs FileName:="my new file", FileFormat:=xlCSV Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(olMailItem) With OutMail .To = " .Subject = "e-mail subject" .Attachments.Add wb.FullName .Send End With .ChangeFileAccess xlReadOnly Kill .FullName .Close False End With Set OutMail = Nothing Set OutApp = Nothing Application.ScreenUpdating = True 'Application.DisplayAlerts = True End Sub I put displayalerts to false but then the SaveAs dialog box is displayed. Can anyone please help? Gareth |
All times are GMT +1. The time now is 10:02 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com