Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 502
  • Last Modified:

Outlook 2007 sending Word 2003 document in email body

hi all,

I am trying to create the macro in Word 2003 which allows you to create an email in Outlook 2007 and put the Word document in the body of the email.

I have seen the script here and got it working:

http://www.experts-exchange.com/Software/Office_Productivity/Groupware/Outlook/Q_24428085.html

However the script just generates an email with the default to, subject etc in it and sends it immediately.  I need the script to pop up the Outlook email so i can enter the to adress, subject etc and preview the body text.

I have absolutely no VB experience or knowledge and don't have a clue how I can make this happen.  Could anyone help?

nathan
Sub SendDocumentInMail()
 
Dim bStarted As Boolean
'Dim oOutlookApp As Outlook.Application
'Dim oItem As Outlook.MailItem
 
On Error Resume Next
 
'Get Outlook if it's running
Set oOutlookApp = GetObject(, "Outlook.Application")
If Err <> 0 Then
    'Outlook wasn't running, start it from code
    Set oOutlookApp = CreateObject("Outlook.Application")
    bStarted = True
End If
 
'Create a new mailitem
Set oItem = oOutlookApp.CreateItem(olMailItem)
 
With oItem
    'Set the recipient for the new email
   .To = "recipient@mail.com"
    'Set the recipient for a copy
    .CC = "recipient2@mail.com"
    'Set the subject
    .Subject = "New subject"
    'The content of the document is used as the body for the email
    .Body = ActiveDocument.Content
    .Send
End With
 
If bStarted Then
    'If we started Outlook from code, then close it
    oOutlookApp.Quit
End If
 
'Clean up
Set oItem = Nothing
Set oOutlookApp = Nothing
 
End Sub

Open in new window

0
natrat22
Asked:
natrat22
  • 2
  • 2
1 Solution
 
Joanne M. OrzechManager, Document Services CenterCommented:
Instead of the .Send line change it to .Display and I also added an input box for the recipient.

Sub SendDocumentInMail()
 
Dim bStarted As Boolean
'Dim oOutlookApp As Outlook.Application
'Dim oItem As Outlook.MailItem
 
On Error Resume Next
 
'Get Outlook if it's running
Set oOutlookApp = GetObject(, "Outlook.Application")
If Err <> 0 Then
    'Outlook wasn't running, start it from code
    Set oOutlookApp = CreateObject("Outlook.Application")
    bStarted = True
End If
 
'Create a new mailitem
Set oItem = oOutlookApp.CreateItem(olMailItem)
 
Recipient = InputBox("Please enter recipient(s) email address(es).")
 
With oItem
    'Set the recipient for the new email
   .To = Recipient
    'Set the recipient for a copy
    '.CC = "recipient2@mail.com"
    'Set the subject
    .Subject = "New subject"
    'The content of the document is used as the body for the email
    .Body = ActiveDocument.Content
    '.Send
    .Display
End With
 
 
 
If bStarted Then
    'If we started Outlook from code, then close it
    oOutlookApp.Quit
End If
 
'Clean up
Set oItem = Nothing
Set oOutlookApp = Nothing
 
End Sub

Open in new window

0
 
natrat22Author Commented:
Jorzech, you rock.  thanks, that worked perfectly.
0
 
natrat22Author Commented:
much appreciated.
0
 
Joanne M. OrzechManager, Document Services CenterCommented:
Terrific!  I am so pleased I was able to help you.  Thanks much natrat22 :)

Joanne Orzech
MS Word MVP
EE Zone Advisor
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now