send excel by email

G

Guest

hi
I'm trying to send a sheet by email, but I want to send just a sheet. I'm
using this code:
ActiveWorkbook.SendMail Recipients:="(e-mail address removed)"

but with this code all file is send.
how can I do for to send just a sheet??

thanks
 
G

Guest

Hi,
A sheet is not a standalone object (otherwise, Microsoft would have
provided objects at operating system level to recognise them). It exists
within the workbook object, hence, you may not be able to send only worksheet
in an e-mail.
 
D

Duncan

Application.DisplayAlerts = False
Dim wb As Workbook
Dim strdate As String
strdate = Format(Now, "dd-mm-yy h-mm-ss")
Application.ScreenUpdating = False
Sheets("Sheet2").Copy
Set wb = ActiveWorkbook
With wb
.SaveAs "onesheet.xls"
.ChangeFileAccess xlReadOnly
End With
Const cdoSendUsingPickup = 1 'Send message using the local SMTP service
pickup directory.
Const cdoSendUsingPort = 2 'Send the message using the network (SMTP
over the network).
Const cdoAnonymous = 0 'Do not authenticate
Const cdoBasic = 1 'basic (clear-text) authentication
Const cdoNTLM = 2 'NTLM
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "A08 Processing Form"
objMessage.From = """Automatic Spreadsheet Submission""
<[email protected]>"
objMessage.To = "(e-mail address removed)"
objMessage.TextBody = "Please find attached an A08 Processing Form"
objMessage.AddAttachment wb.FullName
'==This section provides the configuration information for the remote
SMTP server.
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")
= 2
'Name or IP of Remote SMTP Server
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")
= "100.1.120.2"
'Type of authentication, NONE, Basic (Base64 encoded), NTLM
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")
= cdoBasic
'Your UserID on the SMTP server
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername")
= ""
'Your password on the SMTP server
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword")
= ""
'Server port (typically 25)
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")
= 25
'Use SSL for the connection (False or True)
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl")
= False
'Connection Timeout in seconds (the maximum time CDO will try to
establish a connection to the SMTP server)
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout")
= 60
objMessage.Configuration.Fields.Update
'==End remote SMTP server configuration section==
objMessage.Send
wb.Close (False)
Application.DisplayAlerts = True
Application.ScreenUpdating = True
 
D

Duncan

Hi Madhan,

I didnt intend to post that code and tried to retract it, I apologise
if you think I am undermining your answer I was merely going to offer a
solution to the problem faced.

Duncan
Hi, the code written by Duncan, still does what I have specified, that is, he
creates a workbook containing a single sheet and then sends it via e-mail.
This is just an observation and Mr.Duncan is requested to treat it as such.
Thanks.
 
D

Duncan

P.s, just a suggestion:

Sergio says - "how can I do for to send just a sheet?? "

Sergio asks for a way to do this, not an answer telling him how it isnt
possible, I was only offering such so please try to be polite and not
take it as a personal insult.

Duncan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top