A Microsoft Outlook email forum. Outlook Banter

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » Outlook Banter forum » Microsoft Outlook Email Newsgroups » Outlook and VBA
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

Automate Email



 
 
Thread Tools Search this Thread Display Modes
  #1  
Old January 11th 07, 08:52 PM posted to microsoft.public.outlook.program_vba
A+P
external usenet poster
 
Posts: 12
Default Automate Email

I'm running Outlook 2003 on Exchange 2003 server.
I would like to schedule an automated email that will be send out to the
same recipients with the same msg everyday from Mon-Fri in the morning. All
I have so far is the following code. How do I tell Outlook to do this
automatically every morning?
Attribute VB_Name = "Module1"

Option Explicit


Sub SendMail()


Dim olApp As Outlook.Application

Dim olMail As Outlook.MailItem

Dim blRunning As Boolean


'get application

blRunning = True

On Error Resume Next

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

If olApp Is Nothing Then

Set olApp = New Outlook.Application

blRunning = False

End If

On Error GoTo 0


Set olMail = olApp.CreateItem(olMailItem)

With olMail

'Specify the email subject

..Subject = "Pick up the Mail"

'Specify who it should be sent to

'Repeat this line to add further recipients

..Recipients.Add

..Body = "This is today's pick up mail reminder."

'Choose which of the following 2 lines to have commented out

..Display 'This will display the message for you to check and send yourself

'.Send ' This will send the message straight away

End With


If Not blRunning Then olApp.Quit


Set olApp = Nothing

Set olMail = Nothing


End Sub

Paul



Ads
  #2  
Old January 11th 07, 10:31 PM posted to microsoft.public.outlook.program_vba
Eric Legault [MVP - Outlook]
external usenet poster
 
Posts: 830
Default Automate Email

wFor starters, you couldn't automate this from an external .exe or script
that starts Oultook and creates an e-mail message, as that's not supported.

The Outlook Object Model is unsuitable to run in a Windows service:
http://support.microsoft.com/default...b;en-us;237913

A server-side solution is best, but that involves creating an Exchange Event
Sink and is very advanced.

The best option is to create a recurring task and write VBA to trap the
Reminder event to check that it is your defined task, then run your code to
create and send an e-mail.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

I'm running Outlook 2003 on Exchange 2003 server.
I would like to schedule an automated email that will be send out to the
same recipients with the same msg everyday from Mon-Fri in the morning. All
I have so far is the following code. How do I tell Outlook to do this
automatically every morning?
Attribute VB_Name = "Module1"

Option Explicit


Sub SendMail()


Dim olApp As Outlook.Application

Dim olMail As Outlook.MailItem

Dim blRunning As Boolean


'get application

blRunning = True

On Error Resume Next

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

If olApp Is Nothing Then

Set olApp = New Outlook.Application

blRunning = False

End If

On Error GoTo 0


Set olMail = olApp.CreateItem(olMailItem)

With olMail

'Specify the email subject

..Subject = "Pick up the Mail"

'Specify who it should be sent to

'Repeat this line to add further recipients

..Recipients.Add

..Body = "This is today's pick up mail reminder."

'Choose which of the following 2 lines to have commented out

..Display 'This will display the message for you to check and send yourself

'.Send ' This will send the message straight away

End With


If Not blRunning Then olApp.Quit


Set olApp = Nothing

Set olMail = Nothing


End Sub

Paul




  #3  
Old January 11th 07, 11:32 PM posted to microsoft.public.outlook.program_vba
A+P
external usenet poster
 
Posts: 12
Default Automate Email

Hi Eric,

Thanks for your reply.
I do have a generic code that will send an email on all task reminder event
notifications.
But how do I change it so it traps an event with the subject line: "Pick Up
Mail" ?

Private Sub Application_Reminder(ByVal Item As Object)
Dim objMsg As MailItem
' create new outgoing message
Set objMsg = Application.CreateItem(olMailItem)
' your reminder notification address
objMsg.To = "
objMsg.CC = "
objMsg.Subject = "Reminder: " & Item.Subject
' handle task items that generate reminders
Select Case Item.Class
Case olTask '48
objMsg.Body = _
"Start: " & Item.StartDate & vbCrLf & _
"End: " & Item.DueDate & vbCrLf & _
"Details: " & vbCrLf & Item.Body
End Select
' send the message
objMsg.Send
Set objMsg = Nothing
End Sub

Paul
"Eric Legault [MVP - Outlook]" wrote in
message news
wFor starters, you couldn't automate this from an external .exe or script
that starts Oultook and creates an e-mail message, as that's not
supported.

The Outlook Object Model is unsuitable to run in a Windows service:
http://support.microsoft.com/default...b;en-us;237913

A server-side solution is best, but that involves creating an Exchange
Event
Sink and is very advanced.

The best option is to create a recurring task and write VBA to trap the
Reminder event to check that it is your defined task, then run your code
to
create and send an e-mail.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

I'm running Outlook 2003 on Exchange 2003 server.
I would like to schedule an automated email that will be send out to the
same recipients with the same msg everyday from Mon-Fri in the morning.
All
I have so far is the following code. How do I tell Outlook to do this
automatically every morning?
Attribute VB_Name = "Module1"

Option Explicit


Sub SendMail()


Dim olApp As Outlook.Application

Dim olMail As Outlook.MailItem

Dim blRunning As Boolean


'get application

blRunning = True

On Error Resume Next

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

If olApp Is Nothing Then

Set olApp = New Outlook.Application

blRunning = False

End If

On Error GoTo 0


Set olMail = olApp.CreateItem(olMailItem)

With olMail

'Specify the email subject

..Subject = "Pick up the Mail"

'Specify who it should be sent to

'Repeat this line to add further recipients

..Recipients.Add

..Body = "This is today's pick up mail reminder."

'Choose which of the following 2 lines to have commented out

..Display 'This will display the message for you to check and send
yourself

'.Send ' This will send the message straight away

End With


If Not blRunning Then olApp.Quit


Set olApp = Nothing

Set olMail = Nothing


End Sub

Paul






  #4  
Old January 11th 07, 11:48 PM posted to microsoft.public.outlook.program_vba
Eric Legault [MVP - Outlook]
external usenet poster
 
Posts: 830
Default Automate Email

Simple! The Item object passed an argument to the Reminder event can be
casted to a TaskItem object where you have full access to all its properties
(e.g. TaskItem.Subject, etc.). If it equals what you expect, run your e-mail
code otherwise exit.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

Hi Eric,

Thanks for your reply.
I do have a generic code that will send an email on all task reminder event
notifications.
But how do I change it so it traps an event with the subject line: "Pick Up
Mail" ?

Private Sub Application_Reminder(ByVal Item As Object)
Dim objMsg As MailItem
' create new outgoing message
Set objMsg = Application.CreateItem(olMailItem)
' your reminder notification address
objMsg.To = "
objMsg.CC = "
objMsg.Subject = "Reminder: " & Item.Subject
' handle task items that generate reminders
Select Case Item.Class
Case olTask '48
objMsg.Body = _
"Start: " & Item.StartDate & vbCrLf & _
"End: " & Item.DueDate & vbCrLf & _
"Details: " & vbCrLf & Item.Body
End Select
' send the message
objMsg.Send
Set objMsg = Nothing
End Sub

Paul
"Eric Legault [MVP - Outlook]" wrote in
message news
wFor starters, you couldn't automate this from an external .exe or script
that starts Oultook and creates an e-mail message, as that's not
supported.

The Outlook Object Model is unsuitable to run in a Windows service:
http://support.microsoft.com/default...b;en-us;237913

A server-side solution is best, but that involves creating an Exchange
Event
Sink and is very advanced.

The best option is to create a recurring task and write VBA to trap the
Reminder event to check that it is your defined task, then run your code
to
create and send an e-mail.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

I'm running Outlook 2003 on Exchange 2003 server.
I would like to schedule an automated email that will be send out to the
same recipients with the same msg everyday from Mon-Fri in the morning.
All
I have so far is the following code. How do I tell Outlook to do this
automatically every morning?
Attribute VB_Name = "Module1"

Option Explicit


Sub SendMail()


Dim olApp As Outlook.Application

Dim olMail As Outlook.MailItem

Dim blRunning As Boolean


'get application

blRunning = True

On Error Resume Next

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

If olApp Is Nothing Then

Set olApp = New Outlook.Application

blRunning = False

End If

On Error GoTo 0


Set olMail = olApp.CreateItem(olMailItem)

With olMail

'Specify the email subject

..Subject = "Pick up the Mail"

'Specify who it should be sent to

'Repeat this line to add further recipients

..Recipients.Add

..Body = "This is today's pick up mail reminder."

'Choose which of the following 2 lines to have commented out

..Display 'This will display the message for you to check and send
yourself

'.Send ' This will send the message straight away

End With


If Not blRunning Then olApp.Quit


Set olApp = Nothing

Set olMail = Nothing


End Sub

Paul







  #5  
Old January 12th 07, 12:02 AM posted to microsoft.public.outlook.program_vba
A+P
external usenet poster
 
Posts: 12
Default Automate Email

Hi Eric,

Ok, how's this?
Dim TaskItem As Item.Class
If TaskItem.Subject = "Pick Up Mail" Then
......
compose email and send...
......
End If
Paul

"Eric Legault [MVP - Outlook]" wrote in
message ...
Simple! The Item object passed an argument to the Reminder event can be
casted to a TaskItem object where you have full access to all its
properties
(e.g. TaskItem.Subject, etc.). If it equals what you expect, run your
e-mail
code otherwise exit.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

Hi Eric,

Thanks for your reply.
I do have a generic code that will send an email on all task reminder
event
notifications.
But how do I change it so it traps an event with the subject line: "Pick
Up
Mail" ?

Private Sub Application_Reminder(ByVal Item As Object)
Dim objMsg As MailItem
' create new outgoing message
Set objMsg = Application.CreateItem(olMailItem)
' your reminder notification address
objMsg.To = "
objMsg.CC = "
objMsg.Subject = "Reminder: " & Item.Subject
' handle task items that generate reminders
Select Case Item.Class
Case olTask '48
objMsg.Body = _
"Start: " & Item.StartDate & vbCrLf & _
"End: " & Item.DueDate & vbCrLf & _
"Details: " & vbCrLf & Item.Body
End Select
' send the message
objMsg.Send
Set objMsg = Nothing
End Sub

Paul
"Eric Legault [MVP - Outlook]" wrote in
message news
wFor starters, you couldn't automate this from an external .exe or
script
that starts Oultook and creates an e-mail message, as that's not
supported.

The Outlook Object Model is unsuitable to run in a Windows service:
http://support.microsoft.com/default...b;en-us;237913

A server-side solution is best, but that involves creating an Exchange
Event
Sink and is very advanced.

The best option is to create a recurring task and write VBA to trap the
Reminder event to check that it is your defined task, then run your
code
to
create and send an e-mail.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

I'm running Outlook 2003 on Exchange 2003 server.
I would like to schedule an automated email that will be send out to
the
same recipients with the same msg everyday from Mon-Fri in the
morning.
All
I have so far is the following code. How do I tell Outlook to do this
automatically every morning?
Attribute VB_Name = "Module1"

Option Explicit


Sub SendMail()


Dim olApp As Outlook.Application

Dim olMail As Outlook.MailItem

Dim blRunning As Boolean


'get application

blRunning = True

On Error Resume Next

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

If olApp Is Nothing Then

Set olApp = New Outlook.Application

blRunning = False

End If

On Error GoTo 0


Set olMail = olApp.CreateItem(olMailItem)

With olMail

'Specify the email subject

..Subject = "Pick up the Mail"

'Specify who it should be sent to

'Repeat this line to add further recipients

..Recipients.Add

..Body = "This is today's pick up mail reminder."

'Choose which of the following 2 lines to have commented out

..Display 'This will display the message for you to check and send
yourself

'.Send ' This will send the message straight away

End With


If Not blRunning Then olApp.Quit


Set olApp = Nothing

Set olMail = Nothing


End Sub

Paul









  #6  
Old January 12th 07, 01:47 AM posted to microsoft.public.outlook.program_vba
Eric Legault [MVP - Outlook]
external usenet poster
 
Posts: 830
Default Automate Email

Close:

Dim objTask As Outlook.TaskItem

If Item.Class = olTask Then
Set objTask = Item
objTask.Subject = "Pick Up Mail" Then
End If

Remember that the passed Item object could be a Contact, Appointment or
MailItem that has a reminder flag on it, thus the check to make sure it is a
Task.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

Hi Eric,

Ok, how's this?
Dim TaskItem As Item.Class
If TaskItem.Subject = "Pick Up Mail" Then
......
compose email and send...
......
End If
Paul

"Eric Legault [MVP - Outlook]" wrote in
message ...
Simple! The Item object passed an argument to the Reminder event can be
casted to a TaskItem object where you have full access to all its
properties
(e.g. TaskItem.Subject, etc.). If it equals what you expect, run your
e-mail
code otherwise exit.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

Hi Eric,

Thanks for your reply.
I do have a generic code that will send an email on all task reminder
event
notifications.
But how do I change it so it traps an event with the subject line: "Pick
Up
Mail" ?

Private Sub Application_Reminder(ByVal Item As Object)
Dim objMsg As MailItem
' create new outgoing message
Set objMsg = Application.CreateItem(olMailItem)
' your reminder notification address
objMsg.To = "
objMsg.CC = "
objMsg.Subject = "Reminder: " & Item.Subject
' handle task items that generate reminders
Select Case Item.Class
Case olTask '48
objMsg.Body = _
"Start: " & Item.StartDate & vbCrLf & _
"End: " & Item.DueDate & vbCrLf & _
"Details: " & vbCrLf & Item.Body
End Select
' send the message
objMsg.Send
Set objMsg = Nothing
End Sub

Paul
"Eric Legault [MVP - Outlook]" wrote in
message news wFor starters, you couldn't automate this from an external .exe or
script
that starts Oultook and creates an e-mail message, as that's not
supported.

The Outlook Object Model is unsuitable to run in a Windows service:
http://support.microsoft.com/default...b;en-us;237913

A server-side solution is best, but that involves creating an Exchange
Event
Sink and is very advanced.

The best option is to create a recurring task and write VBA to trap the
Reminder event to check that it is your defined task, then run your
code
to
create and send an e-mail.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

I'm running Outlook 2003 on Exchange 2003 server.
I would like to schedule an automated email that will be send out to
the
same recipients with the same msg everyday from Mon-Fri in the
morning.
All
I have so far is the following code. How do I tell Outlook to do this
automatically every morning?
Attribute VB_Name = "Module1"

Option Explicit


Sub SendMail()


Dim olApp As Outlook.Application

Dim olMail As Outlook.MailItem

Dim blRunning As Boolean


'get application

blRunning = True

On Error Resume Next

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

If olApp Is Nothing Then

Set olApp = New Outlook.Application

blRunning = False

End If

On Error GoTo 0


Set olMail = olApp.CreateItem(olMailItem)

With olMail

'Specify the email subject

..Subject = "Pick up the Mail"

'Specify who it should be sent to

'Repeat this line to add further recipients

..Recipients.Add

..Body = "This is today's pick up mail reminder."

'Choose which of the following 2 lines to have commented out

..Display 'This will display the message for you to check and send
yourself

'.Send ' This will send the message straight away

End With


If Not blRunning Then olApp.Quit


Set olApp = Nothing

Set olMail = Nothing


End Sub

Paul










  #7  
Old January 12th 07, 06:30 AM posted to microsoft.public.outlook.program_vba
A+P
external usenet poster
 
Posts: 12
Default Automate Email

I see. Let me try this. Thanks.

Paul

"Eric Legault [MVP - Outlook]" wrote in
message ...
Close:

Dim objTask As Outlook.TaskItem

If Item.Class = olTask Then
Set objTask = Item
objTask.Subject = "Pick Up Mail" Then
End If

Remember that the passed Item object could be a Contact, Appointment or
MailItem that has a reminder flag on it, thus the check to make sure it is
a
Task.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

Hi Eric,

Ok, how's this?
Dim TaskItem As Item.Class
If TaskItem.Subject = "Pick Up Mail" Then
......
compose email and send...
......
End If
Paul

"Eric Legault [MVP - Outlook]" wrote in
message ...
Simple! The Item object passed an argument to the Reminder event can
be
casted to a TaskItem object where you have full access to all its
properties
(e.g. TaskItem.Subject, etc.). If it equals what you expect, run your
e-mail
code otherwise exit.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

Hi Eric,

Thanks for your reply.
I do have a generic code that will send an email on all task reminder
event
notifications.
But how do I change it so it traps an event with the subject line:
"Pick
Up
Mail" ?

Private Sub Application_Reminder(ByVal Item As Object)
Dim objMsg As MailItem
' create new outgoing message
Set objMsg = Application.CreateItem(olMailItem)
' your reminder notification address
objMsg.To = "
objMsg.CC = "
objMsg.Subject = "Reminder: " & Item.Subject
' handle task items that generate reminders
Select Case Item.Class
Case olTask '48
objMsg.Body = _
"Start: " & Item.StartDate & vbCrLf & _
"End: " & Item.DueDate & vbCrLf & _
"Details: " & vbCrLf & Item.Body
End Select
' send the message
objMsg.Send
Set objMsg = Nothing
End Sub

Paul
"Eric Legault [MVP - Outlook]" wrote
in
message news wFor starters, you couldn't automate this from an external .exe or
script
that starts Oultook and creates an e-mail message, as that's not
supported.

The Outlook Object Model is unsuitable to run in a Windows service:
http://support.microsoft.com/default...b;en-us;237913

A server-side solution is best, but that involves creating an
Exchange
Event
Sink and is very advanced.

The best option is to create a recurring task and write VBA to trap
the
Reminder event to check that it is your defined task, then run your
code
to
create and send an e-mail.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

I'm running Outlook 2003 on Exchange 2003 server.
I would like to schedule an automated email that will be send out
to
the
same recipients with the same msg everyday from Mon-Fri in the
morning.
All
I have so far is the following code. How do I tell Outlook to do
this
automatically every morning?
Attribute VB_Name = "Module1"

Option Explicit


Sub SendMail()


Dim olApp As Outlook.Application

Dim olMail As Outlook.MailItem

Dim blRunning As Boolean


'get application

blRunning = True

On Error Resume Next

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

If olApp Is Nothing Then

Set olApp = New Outlook.Application

blRunning = False

End If

On Error GoTo 0


Set olMail = olApp.CreateItem(olMailItem)

With olMail

'Specify the email subject

..Subject = "Pick up the Mail"

'Specify who it should be sent to

'Repeat this line to add further recipients

..Recipients.Add

..Body = "This is today's pick up mail reminder."

'Choose which of the following 2 lines to have commented out

..Display 'This will display the message for you to check and send
yourself

'.Send ' This will send the message straight away

End With


If Not blRunning Then olApp.Quit


Set olApp = Nothing

Set olMail = Nothing


End Sub

Paul












  #8  
Old January 12th 07, 06:31 PM posted to microsoft.public.outlook.program_vba
A+P
external usenet poster
 
Posts: 12
Default Automate Email

One more question Eric. Is there a way to change the code to also check to
only send the message when the Open button is clicked? I don't want the
email to be sent when the Snooze or Dismiss buttons are clicked on the
Reminder notice.

Paul

"Eric Legault [MVP - Outlook]" wrote in
message ...
Close:

Dim objTask As Outlook.TaskItem

If Item.Class = olTask Then
Set objTask = Item
objTask.Subject = "Pick Up Mail" Then
End If

Remember that the passed Item object could be a Contact, Appointment or
MailItem that has a reminder flag on it, thus the check to make sure it is
a
Task.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

Hi Eric,

Ok, how's this?
Dim TaskItem As Item.Class
If TaskItem.Subject = "Pick Up Mail" Then
......
compose email and send...
......
End If
Paul

"Eric Legault [MVP - Outlook]" wrote in
message ...
Simple! The Item object passed an argument to the Reminder event can
be
casted to a TaskItem object where you have full access to all its
properties
(e.g. TaskItem.Subject, etc.). If it equals what you expect, run your
e-mail
code otherwise exit.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

Hi Eric,

Thanks for your reply.
I do have a generic code that will send an email on all task reminder
event
notifications.
But how do I change it so it traps an event with the subject line:
"Pick
Up
Mail" ?

Private Sub Application_Reminder(ByVal Item As Object)
Dim objMsg As MailItem
' create new outgoing message
Set objMsg = Application.CreateItem(olMailItem)
' your reminder notification address
objMsg.To = "
objMsg.CC = "
objMsg.Subject = "Reminder: " & Item.Subject
' handle task items that generate reminders
Select Case Item.Class
Case olTask '48
objMsg.Body = _
"Start: " & Item.StartDate & vbCrLf & _
"End: " & Item.DueDate & vbCrLf & _
"Details: " & vbCrLf & Item.Body
End Select
' send the message
objMsg.Send
Set objMsg = Nothing
End Sub

Paul
"Eric Legault [MVP - Outlook]" wrote
in
message news wFor starters, you couldn't automate this from an external .exe or
script
that starts Oultook and creates an e-mail message, as that's not
supported.

The Outlook Object Model is unsuitable to run in a Windows service:
http://support.microsoft.com/default...b;en-us;237913

A server-side solution is best, but that involves creating an
Exchange
Event
Sink and is very advanced.

The best option is to create a recurring task and write VBA to trap
the
Reminder event to check that it is your defined task, then run your
code
to
create and send an e-mail.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

I'm running Outlook 2003 on Exchange 2003 server.
I would like to schedule an automated email that will be send out
to
the
same recipients with the same msg everyday from Mon-Fri in the
morning.
All
I have so far is the following code. How do I tell Outlook to do
this
automatically every morning?
Attribute VB_Name = "Module1"

Option Explicit


Sub SendMail()


Dim olApp As Outlook.Application

Dim olMail As Outlook.MailItem

Dim blRunning As Boolean


'get application

blRunning = True

On Error Resume Next

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

If olApp Is Nothing Then

Set olApp = New Outlook.Application

blRunning = False

End If

On Error GoTo 0


Set olMail = olApp.CreateItem(olMailItem)

With olMail

'Specify the email subject

..Subject = "Pick up the Mail"

'Specify who it should be sent to

'Repeat this line to add further recipients

..Recipients.Add

..Body = "This is today's pick up mail reminder."

'Choose which of the following 2 lines to have commented out

..Display 'This will display the message for you to check and send
yourself

'.Send ' This will send the message straight away

End With


If Not blRunning Then olApp.Quit


Set olApp = Nothing

Set olMail = Nothing


End Sub

Paul












  #9  
Old January 12th 07, 09:51 PM posted to microsoft.public.outlook.program_vba
Eric Legault [MVP - Outlook]
external usenet poster
 
Posts: 830
Default Automate Email

Sort of. You can't trap form events for the Reminder window itself. So
you'd need to wire up an Inspector Trapper (see
http://archives.officezealot.com/leg...cles/2224.aspx) and check during
Inspectors.Add whether this is the same item as the Item object that's passed
in the Reminder event. Tricky, but possible. Then perhaps you can use the
Inspector_Open or Inspector_Close event to send the e-mail when the Task is
opened/closed.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

One more question Eric. Is there a way to change the code to also check to
only send the message when the Open button is clicked? I don't want the
email to be sent when the Snooze or Dismiss buttons are clicked on the
Reminder notice.

Paul

"Eric Legault [MVP - Outlook]" wrote in
message ...
Close:

Dim objTask As Outlook.TaskItem

If Item.Class = olTask Then
Set objTask = Item
objTask.Subject = "Pick Up Mail" Then
End If

Remember that the passed Item object could be a Contact, Appointment or
MailItem that has a reminder flag on it, thus the check to make sure it is
a
Task.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

Hi Eric,

Ok, how's this?
Dim TaskItem As Item.Class
If TaskItem.Subject = "Pick Up Mail" Then
......
compose email and send...
......
End If
Paul

"Eric Legault [MVP - Outlook]" wrote in
message ...
Simple! The Item object passed an argument to the Reminder event can
be
casted to a TaskItem object where you have full access to all its
properties
(e.g. TaskItem.Subject, etc.). If it equals what you expect, run your
e-mail
code otherwise exit.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

Hi Eric,

Thanks for your reply.
I do have a generic code that will send an email on all task reminder
event
notifications.
But how do I change it so it traps an event with the subject line:
"Pick
Up
Mail" ?

Private Sub Application_Reminder(ByVal Item As Object)
Dim objMsg As MailItem
' create new outgoing message
Set objMsg = Application.CreateItem(olMailItem)
' your reminder notification address
objMsg.To = "
objMsg.CC = "
objMsg.Subject = "Reminder: " & Item.Subject
' handle task items that generate reminders
Select Case Item.Class
Case olTask '48
objMsg.Body = _
"Start: " & Item.StartDate & vbCrLf & _
"End: " & Item.DueDate & vbCrLf & _
"Details: " & vbCrLf & Item.Body
End Select
' send the message
objMsg.Send
Set objMsg = Nothing
End Sub

Paul
"Eric Legault [MVP - Outlook]" wrote
in
message news wFor starters, you couldn't automate this from an external .exe or
script
that starts Oultook and creates an e-mail message, as that's not
supported.

The Outlook Object Model is unsuitable to run in a Windows service:
http://support.microsoft.com/default...b;en-us;237913

A server-side solution is best, but that involves creating an
Exchange
Event
Sink and is very advanced.

The best option is to create a recurring task and write VBA to trap
the
Reminder event to check that it is your defined task, then run your
code
to
create and send an e-mail.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

I'm running Outlook 2003 on Exchange 2003 server.
I would like to schedule an automated email that will be send out
to
the
same recipients with the same msg everyday from Mon-Fri in the
morning.
All
I have so far is the following code. How do I tell Outlook to do
this
automatically every morning?
Attribute VB_Name = "Module1"

Option Explicit


Sub SendMail()


Dim olApp As Outlook.Application

Dim olMail As Outlook.MailItem

Dim blRunning As Boolean


'get application

blRunning = True

On Error Resume Next

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

If olApp Is Nothing Then

Set olApp = New Outlook.Application

blRunning = False

End If

On Error GoTo 0


Set olMail = olApp.CreateItem(olMailItem)

With olMail

'Specify the email subject

..Subject = "Pick up the Mail"

'Specify who it should be sent to

'Repeat this line to add further recipients

..Recipients.Add

..Body = "This is today's pick up mail reminder."

'Choose which of the following 2 lines to have commented out

..Display 'This will display the message for you to check and send
yourself

'.Send ' This will send the message straight away

End With


If Not blRunning Then olApp.Quit


Set olApp = Nothing

Set olMail = Nothing


End Sub

Paul













  #10  
Old January 12th 07, 11:35 PM posted to microsoft.public.outlook.program_vba
A+P
external usenet poster
 
Posts: 12
Default Automate Email

Hmm...I looked at your link on Inspector Trapper. It's very thoroughly
written. Now all I have to do is understand what you're trying to
say..hahaha.

Paul

"Eric Legault [MVP - Outlook]" wrote in
message ...
Sort of. You can't trap form events for the Reminder window itself. So
you'd need to wire up an Inspector Trapper (see
http://archives.officezealot.com/leg...cles/2224.aspx) and check
during
Inspectors.Add whether this is the same item as the Item object that's
passed
in the Reminder event. Tricky, but possible. Then perhaps you can use
the
Inspector_Open or Inspector_Close event to send the e-mail when the Task
is
opened/closed.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

One more question Eric. Is there a way to change the code to also check
to
only send the message when the Open button is clicked? I don't want the
email to be sent when the Snooze or Dismiss buttons are clicked on the
Reminder notice.

Paul

"Eric Legault [MVP - Outlook]" wrote in
message ...
Close:

Dim objTask As Outlook.TaskItem

If Item.Class = olTask Then
Set objTask = Item
objTask.Subject = "Pick Up Mail" Then
End If

Remember that the passed Item object could be a Contact, Appointment or
MailItem that has a reminder flag on it, thus the check to make sure it
is
a
Task.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

Hi Eric,

Ok, how's this?
Dim TaskItem As Item.Class
If TaskItem.Subject = "Pick Up Mail" Then
......
compose email and send...
......
End If
Paul

"Eric Legault [MVP - Outlook]" wrote
in
message ...
Simple! The Item object passed an argument to the Reminder event
can
be
casted to a TaskItem object where you have full access to all its
properties
(e.g. TaskItem.Subject, etc.). If it equals what you expect, run
your
e-mail
code otherwise exit.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging & Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

Hi Eric,

Thanks for your reply.
I do have a generic code that will send an email on all task
reminder
event
notifications.
But how do I change it so it traps an event with the subject line:
"Pick
Up
Mail" ?

Private Sub Application_Reminder(ByVal Item As Object)
Dim objMsg As MailItem
' create new outgoing message
Set objMsg = Application.CreateItem(olMailItem)
' your reminder notification address
objMsg.To = "
objMsg.CC = "
objMsg.Subject = "Reminder: " & Item.Subject
' handle task items that generate reminders
Select Case Item.Class
Case olTask '48
objMsg.Body = _
"Start: " & Item.StartDate & vbCrLf & _
"End: " & Item.DueDate & vbCrLf & _
"Details: " & vbCrLf & Item.Body
End Select
' send the message
objMsg.Send
Set objMsg = Nothing
End Sub

Paul
"Eric Legault [MVP - Outlook]"
wrote
in
message news wFor starters, you couldn't automate this from an external .exe
or
script
that starts Oultook and creates an e-mail message, as that's not
supported.

The Outlook Object Model is unsuitable to run in a Windows
service:
http://support.microsoft.com/default...b;en-us;237913

A server-side solution is best, but that involves creating an
Exchange
Event
Sink and is very advanced.

The best option is to create a recurring task and write VBA to
trap
the
Reminder event to check that it is your defined task, then run
your
code
to
create and send an e-mail.

--
Eric Legault (Outlook MVP, MCDBA, MCTS: Messaging &
Collaboration)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"A+P" wrote:

I'm running Outlook 2003 on Exchange 2003 server.
I would like to schedule an automated email that will be send
out
to
the
same recipients with the same msg everyday from Mon-Fri in the
morning.
All
I have so far is the following code. How do I tell Outlook to
do
this
automatically every morning?
Attribute VB_Name = "Module1"

Option Explicit


Sub SendMail()


Dim olApp As Outlook.Application

Dim olMail As Outlook.MailItem

Dim blRunning As Boolean


'get application

blRunning = True

On Error Resume Next

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

If olApp Is Nothing Then

Set olApp = New Outlook.Application

blRunning = False

End If

On Error GoTo 0


Set olMail = olApp.CreateItem(olMailItem)

With olMail

'Specify the email subject

..Subject = "Pick up the Mail"

'Specify who it should be sent to

'Repeat this line to add further recipients

..Recipients.Add

..Body = "This is today's pick up mail reminder."

'Choose which of the following 2 lines to have commented out

..Display 'This will display the message for you to check and
send
yourself

'.Send ' This will send the message straight away

End With


If Not blRunning Then olApp.Quit


Set olApp = Nothing

Set olMail = Nothing


End Sub

Paul















 




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Automate Email A+P Outlook - General Queries 1 January 13th 07 10:55 AM
Automate email send to multiple people with different attachments [email protected] Outlook and VBA 2 June 30th 06 04:57 PM
email automation with vba in access2003, need to automate "From" Pampers Outlook and VBA 2 May 27th 06 03:15 AM
Is it possible to automate this? John 3:16 Outlook - General Queries 0 March 27th 06 03:26 PM
How to automate sending email with different attachments Xluser@work Outlook and VBA 3 January 25th 06 05:33 AM


All times are GMT +1. The time now is 04:26 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2025 Outlook Banter.
The comments are property of their posters.