ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   sending one sheet by e-mail (https://www.excelbanter.com/excel-programming/281784-sending-one-sheet-e-mail.html)

gareth

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

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
.


Ron de Bruin

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




Tom Ogilvy

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