Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Automate email generation client side using VBScript

Posted on 2009-07-13
2
Medium Priority
?
609 Views
Last Modified: 2012-05-07
I need to automate the generation of an email from an intranet web page.  This email needs to be created cient side, as the senders will need to be able to review the mail and attachments before it is sent, and it needs to go from their own account and be filed in their sent items etc. I am working with office 2007, but my users are on a mixture of office 2003 and 2007.

I have found that I am not able to automate outlook from IE using VBScript.  When I try to create an instance of an outlook application, I get an error that the activeX object cannot be created . I assume this must be a security feature as I can automate outlook from Excel and Access. I don't know if there is a way around this, but I have failed to find one so far.

I am able to automate word from IE, so I thought as a workaround i may be able to create the email in Word.  This script works fine and creates and the email using word when outlook is closed, but when outlook is open it fails when I try to display the envelope information. When this happens, if I go into the word app that is created and try to manually set the envelopevisible property to true, I get an error -2147467259 (80004005).

I'm getting a bit stumped now and would be grateful for any ideas?

Thanks
Phil
sub window_onLoad()
        
            dim app, doc
            set app = createobject("Word.Application")
            app.Visible = true
            doc = app.Documents.Add
            
            'Set body text
            app.ActiveDocument.Range.Text = "Text Area"
 
            'Set mail details
            app.ActiveWindow.EnvelopeVisible = True
            app.ActiveDocument.MailEnvelope.Item.Recipients.Add document.getElementById("<%=MailTo.ClientID%>").Value
            app.ActiveDocument.MailEnvelope.Item.Subject = document.getElementById("<%=MailSubject.ClientID%>").Value
            app.ActiveDocument.MailEnvelope.Item.Attachments.Add "C:\test.txt"
 
            'Close window
            self.close()
  
        end sub

Open in new window

0
Comment
Question by:phillarby
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 18

Expert Comment

by:exx1976
ID: 25017866
You need to use Outlook Redemption.

http://www.dimastr.com/redemption/

HTH,
exx
0
 

Accepted Solution

by:
phillarby earned 0 total points
ID: 25020560
Sadly that is not an option.

In the end I sent the mails server side to the users, who could then check them before forwarding on to their intended recipients.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

There’s a good reason for why it’s called a homepage – it closely resembles that of a physical house and the only real difference is that it’s online. Your website’s homepage is where people come to visit you. It’s the family room of your website wh…
Ready to get certified? Check out some courses that help you prepare for third-party exams.
This video teaches users how to migrate an existing Wordpress website to a new domain.
The viewer will learn how to use a discrete random variable to simulate the return on an investment over a period of years, create a Monte Carlo simulation using the discrete random variable, and create a graph to represent the possible returns over…
Suggested Courses

670 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question