![]() |
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. |
|
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
![]()
Hi,
I'm trying to send an email confirmation from Access using VBA. I then want to make sure that the email has been sent (ie user didn't close the email window without sending the email). In order to achieve that, I'm using the WithEvent method in a class module. I use Office 2003, with Word as the email editor of Outlook. Not being a specialist, I don't understand why my program fail to catch events from Outlook. Bellow you will find the code I'm using, please let me know if you can help: All code is located in the my Access Project: In the Class Module names "clsEmailConfo", I have the following code: Option Compare Database Option Explicit Public WithEvents objOutlook As Outlook.Application Public WithEvents objOutlookMsg As Outlook.MailItem Private Sub Class_Initialize() Set objOutlook = CreateObject("Outlook.Application") Set objOutlookMsg = objOutlook.CreateItem(olMailItem) End Sub Sub sendEmailConfo(Optional myTo As String, Optional myBcc As String, Optional myCC As String, Optional mySubject As String, Optional myBody As String) With objOutlookMsg .To = myTo .CC = myCC .BCC = myBcc '.Attachments.Add (mypathname) .Subject = "test" .BodyFormat = olFormatHTML .HTMLBody = myBody .Display End With End Sub Private Sub objOutlook_ItemSend(ByVal Item As Object, Cancel As Boolean) MsgBox ("TEST") End Sub Private Sub objOutlookMsg_Send(Cancel As Boolean) MsgBox ("TEST") End Sub ------------------------------------------------------------------------------------------- In a module, I have the follwoing code: Sub test() Dim myEmail As clsEmailConfo Set myEmail = New clsEmailConfo myEmail.sendEmailConfo ", , , "test", "test" End Sub Any help would be greatly apreciated |
Ads |
#2
|
|||
|
|||
![]()
Your class reference in the code module is out of scope as soon as Sub
test() ends. Declare your Dim myEmail As clsEmailConfo at the module level so the class reference stays alive. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm wrote in message ... Hi, I'm trying to send an email confirmation from Access using VBA. I then want to make sure that the email has been sent (ie user didn't close the email window without sending the email). In order to achieve that, I'm using the WithEvent method in a class module. I use Office 2003, with Word as the email editor of Outlook. Not being a specialist, I don't understand why my program fail to catch events from Outlook. Bellow you will find the code I'm using, please let me know if you can help: All code is located in the my Access Project: In the Class Module names "clsEmailConfo", I have the following code: Option Compare Database Option Explicit Public WithEvents objOutlook As Outlook.Application Public WithEvents objOutlookMsg As Outlook.MailItem Private Sub Class_Initialize() Set objOutlook = CreateObject("Outlook.Application") Set objOutlookMsg = objOutlook.CreateItem(olMailItem) End Sub Sub sendEmailConfo(Optional myTo As String, Optional myBcc As String, Optional myCC As String, Optional mySubject As String, Optional myBody As String) With objOutlookMsg .To = myTo .CC = myCC .BCC = myBcc '.Attachments.Add (mypathname) .Subject = "test" .BodyFormat = olFormatHTML .HTMLBody = myBody .Display End With End Sub Private Sub objOutlook_ItemSend(ByVal Item As Object, Cancel As Boolean) MsgBox ("TEST") End Sub Private Sub objOutlookMsg_Send(Cancel As Boolean) MsgBox ("TEST") End Sub ------------------------------------------------------------------------------------------- In a module, I have the follwoing code: Sub test() Dim myEmail As clsEmailConfo Set myEmail = New clsEmailConfo myEmail.sendEmailConfo ", , , "test", "test" End Sub Any help would be greatly apreciated |
#3
|
|||
|
|||
![]()
Ken,
Thank you very much for your help on that matter, Looks like it will be working now. greatly apreciated. Arnaud |
#4
|
|||
|
|||
![]() Damn, I should get used to reading the newsgroups buttom up in order to see which double posting has been answered yet... -- Best regards Michael Bauer - MVP Outlook : Outlook Categories? Category Manager Is Your Tool : VBOffice Reporter for Data Analysis & Reporting : http://www.vboffice.net/product.html?pub=6&lang=en Am Tue, 14 Apr 2009 09:37:26 -0400 schrieb Ken Slovak - [MVP - Outlook]: Your class reference in the code module is out of scope as soon as Sub test() ends. Declare your Dim myEmail As clsEmailConfo at the module level so the class reference stays alive. |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
How do I create a task from selected email, then move email to arc | GabrielDubic | Outlook and VBA | 0 | August 18th 08 09:09 AM |
2 simple macros - create task from email and move email to folder | [email protected] | Outlook and VBA | 5 | February 4th 07 09:57 AM |
Have all email addresses in one email using Outlook called from Access 03 | Ultraviolet47 | Outlook - General Queries | 0 | November 17th 06 06:45 PM |
can't make outlook express default email app when send page by email | merdrum | Outlook Express | 3 | January 16th 06 02:28 AM |
Hotmail no longer allows email access via Outlook Express for free email accounts? | Christina | Outlook Express | 3 | January 11th 06 04:49 AM |