![]() |
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 am a novice at VBA programming but realised it is very powerful and useful. I have a need to send e-mails to 10 different id's. Given a (a)from address (b)To address(b)Subject(d)BCC(e)CC(f)Document to send as attatchment(g)e-mail body, how to write a program that can send e-mails automatically just by running it? Is it easier to do it from Word or from Outlook.? I tried to record and look at the macro that Word generates while trying to open a doc and send e-mail. But the macro does not give any details about the mail specifics. It just has ActiveDocument.SendMail. How can i do this? Please advise. |
#2
|
|||
|
|||
![]() Both, Word and Outlook is possible but if you have the code in Outlook 2003 running then there're no security prompts. In OUtlook you can create a new e-mail with the CreateItem function. If all the recipients should get the same message then simply add them all to the MailItem's Recipients collection by calling Recipients.Add. The function returns a Recipient object for which you can determine its type (olCC, olbCC etc.). For plain text use the Body property else the HTMLBody property. Add the attachment by calling Attachments.Add. That's it. -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook -- www.VBOffice.net -- Am Mon, 13 Nov 2006 21:09:01 -0800 schrieb adi: Hi, I am a novice at VBA programming but realised it is very powerful and useful. I have a need to send e-mails to 10 different id's. Given a (a)from address (b)To address(b)Subject(d)BCC(e)CC(f)Document to send as attatchment(g)e-mail body, how to write a program that can send e-mails automatically just by running it? Is it easier to do it from Word or from Outlook.? I tried to record and look at the macro that Word generates while trying to open a doc and send e-mail. But the macro does not give any details about the mail specifics. It just has ActiveDocument.SendMail. How can i do this? Please advise. |
#3
|
|||
|
|||
![]()
Michael and Viele,
Thanks for your advise. I coded the following and it worked for me. However teh problem i have is a dailog box is being displayed waiting for my input. The e-mail is being sent only if i click the YES. I want to avoid/suppress this msgbox. If suppression is not possible then i want to code in such a way that the message box takes a default YES as if i clicked explicitly. The message/dailog box reads. "A program is trying to send an e-mail on your behalf. Do you want to allow this? If this is unexpected, this may be a virus and should choose NO." How to suppress this dailog box? (if not atleast how to code so that it takes YES as my default input) Again thanks a lot for your time and appreciate your help. Code that worked: --------------------- Sub Macro3() Dim oApp As Outlook.Application Dim oMail As Outlook.MailItem Dim strContenu As String Set oApp = CreateObject("Outlook.Application") Set oMail = oApp.CreateItem(olMailItem) strContenu = "Email sent" strContenu = strContenu + Chr(13) + Chr(10) + "next line" Set myAttachments = oMail.Attachments myAttachments.Add "C:\Adi\Atlas\atlas-calender.txt", olByValue, 1, "Fichier" oMail.Body = strContenu oMail.To = " oMail.Subject = "testttttt" oMail.Send oApp.Quit Set oApp = Nothing End Sub "Michael Bauer [MVP - Outlook]" wrote: Both, Word and Outlook is possible but if you have the code in Outlook 2003 running then there're no security prompts. In OUtlook you can create a new e-mail with the CreateItem function. If all the recipients should get the same message then simply add them all to the MailItem's Recipients collection by calling Recipients.Add. The function returns a Recipient object for which you can determine its type (olCC, olbCC etc.). For plain text use the Body property else the HTMLBody property. Add the attachment by calling Attachments.Add. That's it. -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook -- www.VBOffice.net -- Am Mon, 13 Nov 2006 21:09:01 -0800 schrieb adi: Hi, I am a novice at VBA programming but realised it is very powerful and useful. I have a need to send e-mails to 10 different id's. Given a (a)from address (b)To address(b)Subject(d)BCC(e)CC(f)Document to send as attatchment(g)e-mail body, how to write a program that can send e-mails automatically just by running it? Is it easier to do it from Word or from Outlook.? I tried to record and look at the macro that Word generates while trying to open a doc and send e-mail. But the macro does not give any details about the mail specifics. It just has ActiveDocument.SendMail. How can i do this? Please advise. |
#4
|
|||
|
|||
![]() That's the security dialog I've mentioned. If the code runs in Outlook 2003 then delete the Set oApp = ... line and for the rest of code replace oApp by Application. BTW: 'Viele Gruesse' is German and literally means 'Many Greetings', it's not my or any other's name :-) -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook -- www.VBOffice.net -- Am Tue, 14 Nov 2006 10:45:01 -0800 schrieb adi: Michael and Viele, Thanks for your advise. I coded the following and it worked for me. However teh problem i have is a dailog box is being displayed waiting for my input. The e-mail is being sent only if i click the YES. I want to avoid/suppress this msgbox. If suppression is not possible then i want to code in such a way that the message box takes a default YES as if i clicked explicitly. The message/dailog box reads. "A program is trying to send an e-mail on your behalf. Do you want to allow this? If this is unexpected, this may be a virus and should choose NO." How to suppress this dailog box? (if not atleast how to code so that it takes YES as my default input) Again thanks a lot for your time and appreciate your help. Code that worked: --------------------- Sub Macro3() Dim oApp As Outlook.Application Dim oMail As Outlook.MailItem Dim strContenu As String Set oApp = CreateObject("Outlook.Application") Set oMail = oApp.CreateItem(olMailItem) strContenu = "Email sent" strContenu = strContenu + Chr(13) + Chr(10) + "next line" Set myAttachments = oMail.Attachments myAttachments.Add "C:\Adi\Atlas\atlas-calender.txt", olByValue, 1, "Fichier" oMail.Body = strContenu oMail.To = " oMail.Subject = "testttttt" oMail.Send oApp.Quit Set oApp = Nothing End Sub "Michael Bauer [MVP - Outlook]" wrote: Both, Word and Outlook is possible but if you have the code in Outlook 2003 running then there're no security prompts. In OUtlook you can create a new e-mail with the CreateItem function. If all the recipients should get the same message then simply add them all to the MailItem's Recipients collection by calling Recipients.Add. The function returns a Recipient object for which you can determine its type (olCC, olbCC etc.). For plain text use the Body property else the HTMLBody property. Add the attachment by calling Attachments.Add. That's it. -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook -- www.VBOffice.net -- Am Mon, 13 Nov 2006 21:09:01 -0800 schrieb adi: Hi, I am a novice at VBA programming but realised it is very powerful and useful. I have a need to send e-mails to 10 different id's. Given a (a)from address (b)To address(b)Subject(d)BCC(e)CC(f)Document to send as attatchment(g)e-mail body, how to write a program that can send e-mails automatically just by running it? Is it easier to do it from Word or from Outlook.? I tried to record and look at the macro that Word generates while trying to open a doc and send e-mail. But the macro does not give any details about the mail specifics. It just has ActiveDocument.SendMail. How can i do this? Please advise. |
#5
|
|||
|
|||
![]()
Michael,
Thanks a lot. I coded as you advised and it worked in Outlook. However if i coded the same in MSWORD, i get the following error Compile Error. Method or Datamember not found. at line Set oMail = Application.CreateItem(olMailItem) How do i refer outlook objects from word? My code: (that worked in outlook editor) Sub macro1() Set oMail = Application.CreateItem(olMailItem) Set myAttachments = oMail.Attachments myAttachments.Add "C:\Documents and Settings\Cholu\Desktop\What the Holidays Mean To Me.doc", olByValue, 1, "Fichier" oMail.To = " oMail.Subject = "testttttt" oMail.Send End Sub "Michael Bauer [MVP - Outlook]" wrote: Regards, Adi That's the security dialog I've mentioned. If the code runs in Outlook 2003 then delete the Set oApp = ... line and for the rest of code replace oApp by Application. BTW: 'Viele Gruesse' is German and literally means 'Many Greetings', it's not my or any other's name :-) -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook -- www.VBOffice.net -- Am Tue, 14 Nov 2006 10:45:01 -0800 schrieb adi: Michael and Viele, Thanks for your advise. I coded the following and it worked for me. However teh problem i have is a dailog box is being displayed waiting for my input. The e-mail is being sent only if i click the YES. I want to avoid/suppress this msgbox. If suppression is not possible then i want to code in such a way that the message box takes a default YES as if i clicked explicitly. The message/dailog box reads. "A program is trying to send an e-mail on your behalf. Do you want to allow this? If this is unexpected, this may be a virus and should choose NO." How to suppress this dailog box? (if not atleast how to code so that it takes YES as my default input) Again thanks a lot for your time and appreciate your help. Code that worked: --------------------- Sub Macro3() Dim oApp As Outlook.Application Dim oMail As Outlook.MailItem Dim strContenu As String Set oApp = CreateObject("Outlook.Application") Set oMail = oApp.CreateItem(olMailItem) strContenu = "Email sent" strContenu = strContenu + Chr(13) + Chr(10) + "next line" Set myAttachments = oMail.Attachments myAttachments.Add "C:\Adi\Atlas\atlas-calender.txt", olByValue, 1, "Fichier" oMail.Body = strContenu oMail.To = " oMail.Subject = "testttttt" oMail.Send oApp.Quit Set oApp = Nothing End Sub "Michael Bauer [MVP - Outlook]" wrote: Both, Word and Outlook is possible but if you have the code in Outlook 2003 running then there're no security prompts. In OUtlook you can create a new e-mail with the CreateItem function. If all the recipients should get the same message then simply add them all to the MailItem's Recipients collection by calling Recipients.Add. The function returns a Recipient object for which you can determine its type (olCC, olbCC etc.). For plain text use the Body property else the HTMLBody property. Add the attachment by calling Attachments.Add. That's it. -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook -- www.VBOffice.net -- Am Mon, 13 Nov 2006 21:09:01 -0800 schrieb adi: Hi, I am a novice at VBA programming but realised it is very powerful and useful. I have a need to send e-mails to 10 different id's. Given a (a)from address (b)To address(b)Subject(d)BCC(e)CC(f)Document to send as attatchment(g)e-mail body, how to write a program that can send e-mails automatically just by running it? Is it easier to do it from Word or from Outlook.? I tried to record and look at the macro that Word generates while trying to open a doc and send e-mail. But the macro does not give any details about the mail specifics. It just has ActiveDocument.SendMail. How can i do this? Please advise. |
#6
|
|||
|
|||
![]() In Word the Application object refers to Word.Application not Outlook.Application. There's no documented way to use Outlook's intrinsic Application object from outside. Maybe you can redesign your solution? -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook -- www.VBOffice.net -- Am Thu, 30 Nov 2006 14:40:06 -0800 schrieb Adi: Michael, Thanks a lot. I coded as you advised and it worked in Outlook. However if i coded the same in MSWORD, i get the following error Compile Error. Method or Datamember not found. at line Set oMail = Application.CreateItem(olMailItem) How do i refer outlook objects from word? My code: (that worked in outlook editor) Sub macro1() Set oMail = Application.CreateItem(olMailItem) Set myAttachments = oMail.Attachments myAttachments.Add "C:\Documents and Settings\Cholu\Desktop\What the Holidays Mean To Me.doc", olByValue, 1, "Fichier" oMail.To = " oMail.Subject = "testttttt" oMail.Send End Sub "Michael Bauer [MVP - Outlook]" wrote: Regards, Adi That's the security dialog I've mentioned. If the code runs in Outlook 2003 then delete the Set oApp = ... line and for the rest of code replace oApp by Application. BTW: 'Viele Gruesse' is German and literally means 'Many Greetings', it's not my or any other's name :-) -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook -- www.VBOffice.net -- Am Tue, 14 Nov 2006 10:45:01 -0800 schrieb adi: Michael and Viele, Thanks for your advise. I coded the following and it worked for me. However teh problem i have is a dailog box is being displayed waiting for my input. The e-mail is being sent only if i click the YES. I want to avoid/suppress this msgbox. If suppression is not possible then i want to code in such a way that the message box takes a default YES as if i clicked explicitly. The message/dailog box reads. "A program is trying to send an e-mail on your behalf. Do you want to allow this? If this is unexpected, this may be a virus and should choose NO." How to suppress this dailog box? (if not atleast how to code so that it takes YES as my default input) Again thanks a lot for your time and appreciate your help. Code that worked: --------------------- Sub Macro3() Dim oApp As Outlook.Application Dim oMail As Outlook.MailItem Dim strContenu As String Set oApp = CreateObject("Outlook.Application") Set oMail = oApp.CreateItem(olMailItem) strContenu = "Email sent" strContenu = strContenu + Chr(13) + Chr(10) + "next line" Set myAttachments = oMail.Attachments myAttachments.Add "C:\Adi\Atlas\atlas-calender.txt", olByValue, 1, "Fichier" oMail.Body = strContenu oMail.To = " oMail.Subject = "testttttt" oMail.Send oApp.Quit Set oApp = Nothing End Sub "Michael Bauer [MVP - Outlook]" wrote: Both, Word and Outlook is possible but if you have the code in Outlook 2003 running then there're no security prompts. In OUtlook you can create a new e-mail with the CreateItem function. If all the recipients should get the same message then simply add them all to the MailItem's Recipients collection by calling Recipients.Add. The function returns a Recipient object for which you can determine its type (olCC, olbCC etc.). For plain text use the Body property else the HTMLBody property. Add the attachment by calling Attachments.Add. That's it. -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook -- www.VBOffice.net -- Am Mon, 13 Nov 2006 21:09:01 -0800 schrieb adi: Hi, I am a novice at VBA programming but realised it is very powerful and useful. I have a need to send e-mails to 10 different id's. Given a (a)from address (b)To address(b)Subject(d)BCC(e)CC(f)Document to send as attatchment(g)e-mail body, how to write a program that can send e-mails automatically just by running it? Is it easier to do it from Word or from Outlook.? I tried to record and look at the macro that Word generates while trying to open a doc and send e-mail. But the macro does not give any details about the mail specifics. It just has ActiveDocument.SendMail. How can i do this? Please advise. |
#7
|
|||
|
|||
![]()
Viele Gruesse and Michael Bauer,
Thanks for your answer. It did help me understand how the process work. Can you provide me a sample code as i am a novice in VBA programming. I do lot of mainframe programming in Cobol. Also where do i write the piece of code? How can i run it? Please also suggest me a good book on MSWORD and MSOUTLOOK VBA programming. Thanks for your time. Appreciate all your help. Regards, Adi "adi" wrote: Hi, I am a novice at VBA programming but realised it is very powerful and useful. I have a need to send e-mails to 10 different id's. Given a (a)from address (b)To address(b)Subject(d)BCC(e)CC(f)Document to send as attatchment(g)e-mail body, how to write a program that can send e-mails automatically just by running it? Is it easier to do it from Word or from Outlook.? I tried to record and look at the macro that Word generates while trying to open a doc and send e-mail. But the macro does not give any details about the mail specifics. It just has ActiveDocument.SendMail. How can i do this? Please advise. |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
macro to send a mail from drafts | Varun Nair | Outlook and VBA | 1 | August 23rd 06 03:48 PM |
How to program a macro to do a mail merge. | mjj4golf | Outlook and VBA | 1 | July 19th 06 11:24 PM |
Send Mail to Outlook from a Program | jerry | Outlook - General Queries | 4 | July 3rd 06 03:25 PM |
$$ looking for someone to write a macro for me | [email protected] | Outlook and VBA | 0 | March 16th 06 12:24 AM |
A program is trying to send mail using Item.Send | Vitesh | Outlook and VBA | 1 | January 23rd 06 03:25 PM |