Thursday, March 18, 2010

Send Outlook E mail using VB macros

All,
Below is the VB Macro code to send mail using Microsoft Outlook :

Lines mark with " ' " are commented.

Sub SendMail()

'

'This macro requires the Outlook Object library to be checked

'in the vba editor Tools > References

Dim bStarted As Boolean

Dim oOutlookApp 'As outloo

Dim oItem 'As Outlook.MailItem

On Error Resume Next

'see if Outlook is running and if so turn your attention there

Set oOutlookApp = GetObject(, "Outlook.Application")

If Err <> 0 Then 'Outlook isn't running

'So fire it up

Set oOutlookApp = CreateObject("Outlook.Application")

bStarted = True

End If

'Open a new e-mail message

Set oItem = oOutlookApp.CreateItem(olMailItem)

With oItem 'and add the detail to it

.To = "abc@yahoo.com" 'send to this address

.Subject = "This is a Test Mail using VB Macros" 'This is the message subject

.Body = "See attached document" ' This is the message body text

.Attachments.Add ActiveDocument.FullName

ActiveDocument.SaveAs strFilePath & strDate

.Send

'**********************************

'If you want to view the message before it goes

'change the line above from .Send to .Display

'Otherwise the message is sent straight to the Outbox

'and if you have Outlook set to send mail immediately,

'it will simply be Sent

'with no obvious sign that Outlook has operated.

'Apart from the copy in the Outlook Sent folder

'**********************************

End With

If bStarted Then 'If the macro started Outlook, stop it again.

oOutlookApp.Quit

End If

'Clean up

Set oItem = Nothing

Set oOutlookApp = Nothing

End Sub





Regards,

Nitin Sharma