Thread
:
Run VBA Code from 'new mail message' on standard toolbar
View Single Post
#
4
March 29th 06, 12:45 PM posted to microsoft.public.outlook.program_vba
Carmi
external usenet poster
Posts: 8
Run VBA Code from 'new mail message' on standard toolbar
Eric - following on from my last message I would also like to resolve the
addresses when I create the mail based on the Name or number typed into the
inputbox. My reason for this is because there can be a number of projects
for the same client and I may not know what the Project number is.
example Client Name = Akzo
3 separate email address relating to 3 different projects
I changed my code to use the recipient.resolve which works only if their is
a unique address. If there are potentially more than one addresses based on
the information provided then the code as is does not work.
My Current Code is as follows;
Private Sub objMailItem_Open(Cancel As Boolean)
Dim strEmail As String
Dim objRecipient As Recipient
Dim subject As String 'to be used later
With objMailItem
‘My clumsy way of determining if it is a newly created message as I don’t
know the ‘correct event to hook onto.
If .To = "" And .subject = "" Then
'Input messagebox for Client Name or Project Number
strEmail = InputBox("Please Input Appropriate Job Number or Client
Name", _
"Job Number")
'If user does not want to send mail to project mailbox (eg Private)
If strEmail = "" Then Exit Sub
'Use Project Number or Client Name as recipient address
Set objRecipient = objMailItem.Recipients.Add(strEmail)
'Move recipient to CC field
objRecipient.Type = olCC
'Resolve the address to find the correct Project email address eg
objMailItem.Recipients.ResolveAll
End If
End With
End Sub
I want the resolve function to open the check names dialog box if there is
more than one potential match so I can select the right address. I do not to
wait until the message is sent for the check names dialog to appear as
ultimately I want to use some of the properties associated with the project
address to generate the subject line (i.e Auto Generate the Job Number and
client name in the subject line…. That will be another post).
Strangely enough I find that if there is more than one match the user input
from the inputbox is displayed in the To field but when I hit send and select
the correct address from Match Name that the correct address will be
displayed in the CC.
Any other suggestions on how to make better use of the code I have will also
be most welcome.
Sorry for the long post but I hope you can help.
Thanks
Carmi
My Current Code is as follows;
Private Sub objMailItem_Open(Cancel As Boolean)
Dim strEmail As String
Dim objRecipient As Recipient
Dim subject As String 'to be used later
With objMailItem
If .To = "" And .subject = "" Then
'Input messagebox for Client Name or Project Number
strEmail = InputBox("Please Input Appropriate Job Number or Client
Name", _
"Job Number")
'If user does not want to send mail to project mailbox
If strEmail = "" Then Exit Sub
'Use Project Number or Client Name as recipient address
Set objRecipient = objMailItem.Recipients.Add(strEmail)
'Move recipient to CC field
objRecipient.Type = olCC
'Resolve the address to find the correct Project email address eg
If objMailItem.Recipients.ResolveAll = False Then
MsgBox "Please click on Check Name"
End If
End If
End With
End Sub
if there are options. Strangly if I use the Akzo example where there is
more than one project email address resolve will do nothing and 'Akzo' will
display in the
"Carmi" wrote:
Dear Eric - firstly thank you for your help and pointing me to your blog. It
was very helpful as it is written in a way that makes it very easy to
understand (especially the parts about the This OutlookSession and the Class
Module). In all honesty I dont think I fully understand the code related to
Inspector Object all that well but the code works!... well nearly.
I do have a follow on question relating to a discussion between yourself and
Nick on the same blog (1/18/2005 9:06am) concerning the different olMail
events. The (very simple) question is;
What is the event to trap for the creation of a new mail message?
I understand, and can find, the appropriate references for using a
objMailItem_Forward or objMailItem_Reply events but for the life of me cant
find one for creating a new message.
Any direction would be greatly appreciated
Carmi
"Eric Legault [MVP - Outlook]" wrote:
Instead of trapping clicks on the Send button, it would be better to trap
additions to the Inspectors collection. See my blog post he
Getting a Handle on Your E-mails with VBA:
http://blogs.officezealot.com/legaul...cles/2224.aspx
New e-mails can be created by shortcut keys and other methods, so relying on
a button click won't catch all of the situations.
Try resolving during Item_Send, and cancelling the event if an address is
invalid.
--
Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog:
http://blogs.officezealot.com/legault/
"Carmi" wrote:
Outlook 2003
I have found and edited the following code (sourced from Sue Mosher) and
assigned it to a button on a customised tool bar but would prefer to have
this run when I click on the 'new mail message' button on the standard tool
bar. Is this possible?
Sub CreateNewMail()
'Creates a new e-mail item
Dim olApp As Outlook.Application
Dim objMail As Outlook.MailItem
Dim strEmail As String
'Set Application
Set olApp = Outlook.Application
'Set new email item
Set objMail = olApp.CreateItem(olMailItem)
'Ask user to record project number
strEmail = InputBox("Please enter Job Number or Client Name", _
"Job Number")
'Set Job Number in BC
objMail.CC = strEmail
'Display the email
objMail.Display
'Resolve project number to find project address
objMail.Recipients.ResolveAll
End Sub
Also the way I am using the 'resolve' does not seem to work. The project
address is not resolved until I hot the send button. This is no big issue
but I if someone could help I would prefer to check the project number and
find the correct address before I hit the send button.
Thanks
Carmi
Carmi
View Public Profile
View message headers
Find all posts by Carmi
Find all threads started by Carmi
Ads
Mortgages
-
Debt
-
Web Advertising
-
Credit Cards
-
Bleach 179 . Bleach 180