I have a Way of e-mailing via VBA
Code:
'Uses Microsoft Outlook 8 reference
Sub Sendmail()
Dim appOutLook As Outlook.MAPIFolder
Dim oMailItem As Outlook.MailItem
Dim oContact As Outlook.Recipient
'create application and Mail Item
Set appOutLook = GetObject("", "Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
Set oMailItem = appOutLook.Items.Add
'set mail properties
With oMailItem
.Subject = "Message Subject"
Set oContact = .Recipients.Add("user@email.com")
oContact.Type = olTo
.Body = "Message Subject"
.Send
End With
'dispose of objects
Set oContact = Nothing
Set oMailItem = Nothing
Set appOutLook = Nothing
End Sub
if you set the refrence to Outlook from the tools menu.
you could set a routine to call this from a worksheet_change event.
To stop saving you could investigate the Workbook_Beforesave Event.
Possibly by Password protecting the save event.
Hope this Helps
David