J
Jen
Exactly. You can do CTRL V and it works but not with VBA?
Tony Jollans said:There ought to be a way to use HTMLBody but it isn't entirely
straightforward.
What you can do is address the Word editor in Outlook 2007 and paste the
selection in. The downside to this is that the OMG gives you a popup but
that probably isn't a big issue in a personal environment.
Instead of:
.Body = Selection
Try:
Selection.Copy
.GetInspector.WordEditor.Range.Paste
.GetInspector
and then a period vba prompts with the options - including
.WordEditor
If I add a period to the end of that, there isn't the usual prompt
offering .Range etc (though it doesn't baulk at its addition).
I don't know if it is a clue, but if I enter
.GetInspector
and then a period vba prompts with the options - including
.WordEditor
If I add a period to the end of that, there isn't the usual prompt offering
.Range etc (though it doesn't baulk at its addition).
Graham Mayor said:Sue
The suggestion set the little cogs in motion
The following now does work to paste the formatted text into the body of the
message, and I have added a routine to grab the addressee information from
Outlook. However while it does work when Outlook is running already, it
usually crashes Word when Outlook is supposed to be started from the macro.
Sub Send_Extract_As_EMail()
' send the document in an Outlook Email message
' 2007 Graham Mayor, Tony Jollans, Doug Robbins
' & Sue Mosher
Dim bStarted As Boolean
Dim oOutlookApp As Outlook.Application
Dim oItem As Outlook.MailItem
Dim objDoc As Word.Document
Dim strEMail As String
strEMail = "<PR_EMAIL_ADDRESS>"
'Let the user choose the contact from Outlook
'And assign the email address to a variable
strEMail = Application.GetAddress("", strEMail, _
False, 1, , , True, True)
If strEMail = "" Then
MsgBox "User cancelled or no address listed", , "Cancel"
End If
On Error Resume Next
'Get Outlook if it's running
Set oOutlookApp = GetObject(, "Outlook.Application")
'Outlook wasn't running, start it from code
If Err <> 0 Then
Set oOutlookApp = CreateObject("Outlook.Application")
bStarted = True
End If
'Create a new mailitem
Set oItem = oOutlookApp.CreateItem(olMailItem)
Set objDoc = oItem.GetInspector.WordEditor
With oItem
.to = strEMail
.Subject = InputBox("Subject?")
Selection.Copy
objDoc.Range.Paste
.Display
End With
'Clean up
Set oItem = Nothing
Set oOutlookApp = Nothing
End Sub
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Yes, it should have been Set not Dim. Sorry for the confusion.
Graham Mayor said:Thanks for that. I assume the second 'Dim' was a typo?
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Sue Mosher [MVP-Outlook] wrote:
You might find the recent discussion at
http://www.outlookcode.com/threads.aspx?forumid=4&messageid=26382
useful, as it was on a similar subject.
I don't know if it is a clue, but if I enter
.GetInspector
and then a period vba prompts with the options - including
.WordEditor
If I add a period to the end of that, there isn't the usual prompt
offering .Range etc (though it doesn't baulk at its addition).
Declare a Word.Document object and instantiate it:
Dim objDoc as Word.Document
Dim objDoc = MyMessage.GetInspector.WordEditor
You'll then get intellisense for objDoc.
The only thing I do in Outlook is extract a line of code from a
daily e-mail and paste it into a Word table, using a variation of
the code we discussed on an earlier occasion.
I don't appear to be able to do anything in code with the object.
I don't get an OMG (?) prompt or any other prompt or error message.
The Outlook message window opens the addressee and subject are
filled and (if nothing is entered in the ".Body =" line) the
default theme is used. The cursor is in the body area and nothing
is pasted. Pressing CTRL V or clicking the Paste button pastes the
formatted text.
I don't know if it is a clue, but if I enter
.GetInspector
and then a period vba prompts with the options - including
.WordEditor
If I add a period to the end of that, there isn't the usual prompt
offering .Range etc (though it doesn't baulk at its addition).
It doesn't make any difference whether or not Outlook is running.
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Tony Jollans wrote:
Graham,
I know you do other things in Outlook - do you have active event
procedures that might interfere at all? Is it just the paste that
fails - can you do anything with the Document (WordEditor) object,
or its Range object? I'm not sure what else to ask - do you get
the OMG prompt (triggered by the GetInspector)? Does it make a
difference if Outlook is already running?
Hmmm! That's essentially what Tony suggested, but it doesn't work
for me with either Word 2003 or 2007. Nothing is pasted into the
text space, unless you actually click the paste button or CTRL+V
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Jen wrote:
I use 2007 Outlook and Word 2003 and Word 2007
I did play with Options Mail Format to HTML and Rich Text.
Sub Send_Extract_As_MailKeepFmt()
' send the document in an Outlook Email message - HTML Rich Text
Format maintained (Brilliant)
' 20April2008
' 2007 Graham Mayor Tony Jollans Doug Robbins
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")
'Outlook wasn't running, start it from code
If Err <> 0 Then
Set oOutlookApp = CreateObject("Outlook.Application")
bStarted = True
End If
'Create a new mailitem
Set oItem = oOutlookApp.CreateItem(olMailItem)
With oItem
.to = "(e-mail address removed)"
.Subject = InputBox("Subject?")
Selection.Copy
.GetInspector.WordEditor.Range.Paste
' .Body = Selection
.Display
End With
'Clean up
Set oItem = Nothing
Set oOutlookApp = Nothing
End Sub
That'll teach me to not to be so fast in pressing the send
button There appears to be something I am missing?
The modifications do not paste the text into the message here?
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor wrote:
Brilliant - thanks
Tony Jollans wrote:
There ought to be a way to use HTMLBody but it isn't entirely
straightforward.
What you can do is address the Word editor in Outlook 2007
and paste the selection in. The downside to this is that the
OMG gives you a popup but that probably isn't a big issue in
a personal environment. Instead of:
.Body = Selection
Try:
Selection.Copy
.GetInspector.WordEditor.Range.Paste
I had already tried that
The formatting is lost between Word and Outlook and there
doesn't seem to be a way to actually paste into the text
area of the Outlook message window using the macro that I
have found ... yet --
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
.
Doug Robbins - Word MVP wrote:
Try
.Body = Selection.FormattedText
I can't think of a way to pass the formatting between the
applications using this macro construction. Until someone
comes up with something better, change the line.
.Body = Selection
to
.Body = ""
and paste your formatted selection into the text area.
To cast the net wider I have cross-posted to the
programming and Outlook forums
Sub Send_Extract_As_Mail()
' send the document in an Outlook Email message
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")
'Outlook wasn't running, start it from code
If Err <> 0 Then
Set oOutlookApp = CreateObject("Outlook.Application")
bStarted = True
End If
'Create a new mailitem
Set oItem = oOutlookApp.CreateItem(olMailItem)
With oItem
.to = "(e-mail address removed)"
.Subject = InputBox("Subject?")
.Body = Selection
.Display
End With
'Clean up
Set oItem = Nothing
Set oOutlookApp = Nothing
End Sub
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
George Lutz wrote:
Terry:
Thanks, but that had no effect on the result.
George Lutz
:
In Outlook, go to Tools, Options, select the Mail Format
tab and then click on Editor Options at the bottom.
Select the Advanced tab and then under Cut, Copy Paste
section, make sure that the Keep Source formatting
option is selected. that should then paste and keep your
formatting without need to modify the macro. Terry
"George Lutz" <[email protected]>
wrote in message
Terry -- thanks, I found it.
Graham: Can your macro be modifed so that the text that
is pasted into the email body preserves the formatting
it had in Word? When I run your macro,
bolded text becomes unbolded and tabs disappear.
Thanks.
George Lutz
:
Right-click anywhere on the QAT and select Customize.
In the customize dialog, select All Commands and
scroll down to Microsoft Outlook.
But I am assuming that you have the whole Office 2007
suit and not just Word
2007 mixed with Outlook 2003. That combination won't
work as Word 2007 needs
Outlook 2007 for compatibility.
Hope this sorts it for you.
Terry
"George Lutz" <[email protected]>
wrote in message
Graham's macro works very nicely -- thank you,
Graham.
Terry: I would like to try your suggestion, but
Outlook does not seem to
be
a Command available to me in Word Options |
Customize | All Commands. Where
can I find the Command to which you are referring?
Thanks.
George Lutz
:
George
You can add the Outlook command button to the QAT,
just like you can add
the
Send to Mail Recipient tool to the QAT.
Terry Farrell
"George Lutz" <[email protected]>
wrote in message
But I don't want to send the entire Word document
-- just the portion
of
it
that is my email. I take notes as I go through the
day, and occasionally
compose an email that I then want to send. The
email is just a small
portion
of the day's notes. So, I compose the email, then
cut and paste its text
into Outlook. The button I used in Word 2003
called up Outlook, opened
a
blank email, and allowed me to paste in the text I
had prepared in Word.
I
also had a button that called up Outlook with an
email already addressed
to
my assistant, who is the recipient of about half of
the 20 or so emails
I
send each day -- very convenient. Amazing that
such a useful feature
would
be eliminated in an "updated" version of Word!
I appreciate your replies. however.
George Lutz
:
It was never necessary to copy and paste into a
blank email in Outlook.
All
you ever needed to do from Word was to click on
the Send to Mail Recipient
tool (in either Word 2002, Word 2003 or Word
2007).
When you click on that tool, it adds the standard
email address bar to
the
top of the windows which looks and feels identical
to the blank email
in
Outlook.
In Word 2007, you need to add this command button
Send Mail to Recipient
to
the QAT because Microsoft inexplicably left it off
the Send Menu.
--
Terry Farrell - MSWord MVP
"George Lutz" <George
(e-mail address removed)> wrote in message
I just chagned from Word 2003 to Word 2007. In
Word 2003, I had an
icon
in
the toolbar that allowed me to call upOutlook.
I.e., I wouudl compose
and
email in word, then select and copy it, then
click on this icno, and
an
opened up ready for me to paste in the text. I am
pretty sure I used
the
Customixe feature in 2002 to do this.
How can I get such an icon in 2007 to land in my
Quick Access Toolbar?
Thanks.
George Lutz
Which statement causes the crash? Error messages?
Graham Mayor said:Sue
The suggestion set the little cogs in motion
The following now does work to paste the formatted text into the
body of the message, and I have added a routine to grab the
addressee information from Outlook. However while it does work when
Outlook is running already, it usually crashes Word when Outlook is
supposed to be started from the macro.
Sub Send_Extract_As_EMail()
' send the document in an Outlook Email message
' 2007 Graham Mayor, Tony Jollans, Doug Robbins
' & Sue Mosher
Dim bStarted As Boolean
Dim oOutlookApp As Outlook.Application
Dim oItem As Outlook.MailItem
Dim objDoc As Word.Document
Dim strEMail As String
strEMail = "<PR_EMAIL_ADDRESS>"
'Let the user choose the contact from Outlook
'And assign the email address to a variable
strEMail = Application.GetAddress("", strEMail, _
False, 1, , , True, True)
If strEMail = "" Then
MsgBox "User cancelled or no address listed", , "Cancel"
End If
On Error Resume Next
'Get Outlook if it's running
Set oOutlookApp = GetObject(, "Outlook.Application")
'Outlook wasn't running, start it from code
If Err <> 0 Then
Set oOutlookApp = CreateObject("Outlook.Application")
bStarted = True
End If
'Create a new mailitem
Set oItem = oOutlookApp.CreateItem(olMailItem)
Set objDoc = oItem.GetInspector.WordEditor
With oItem
.to = strEMail
.Subject = InputBox("Subject?")
Selection.Copy
objDoc.Range.Paste
.Display
End With
'Clean up
Set oItem = Nothing
Set oOutlookApp = Nothing
End Sub
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Yes, it should have been Set not Dim. Sorry for the confusion.
Thanks for that. I assume the second 'Dim' was a typo?
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Sue Mosher [MVP-Outlook] wrote:
You might find the recent discussion at
http://www.outlookcode.com/threads.aspx?forumid=4&messageid=26382
useful, as it was on a similar subject.
I don't know if it is a clue, but if I enter
.GetInspector
and then a period vba prompts with the options - including
.WordEditor
If I add a period to the end of that, there isn't the usual
prompt offering .Range etc (though it doesn't baulk at its
addition).
Declare a Word.Document object and instantiate it:
Dim objDoc as Word.Document
Dim objDoc = MyMessage.GetInspector.WordEditor
You'll then get intellisense for objDoc.
The only thing I do in Outlook is extract a line of code from a
daily e-mail and paste it into a Word table, using a variation of
the code we discussed on an earlier occasion.
I don't appear to be able to do anything in code with the object.
I don't get an OMG (?) prompt or any other prompt or error
message. The Outlook message window opens the addressee and
subject are filled and (if nothing is entered in the ".Body ="
line) the default theme is used. The cursor is in the body area
and nothing is pasted. Pressing CTRL V or clicking the Paste
button pastes the formatted text.
I don't know if it is a clue, but if I enter
.GetInspector
and then a period vba prompts with the options - including
.WordEditor
If I add a period to the end of that, there isn't the usual
prompt offering .Range etc (though it doesn't baulk at its
addition).
It doesn't make any difference whether or not Outlook is running.
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Tony Jollans wrote:
Graham,
I know you do other things in Outlook - do you have active event
procedures that might interfere at all? Is it just the paste
that fails - can you do anything with the Document (WordEditor)
object, or its Range object? I'm not sure what else to ask - do
you get the OMG prompt (triggered by the GetInspector)? Does it
make a difference if Outlook is already running?
Hmmm! That's essentially what Tony suggested, but it doesn't
work for me with either Word 2003 or 2007. Nothing is pasted
into the text space, unless you actually click the paste
button or CTRL+V
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Jen wrote:
I use 2007 Outlook and Word 2003 and Word 2007
I did play with Options Mail Format to HTML and Rich Text.
Sub Send_Extract_As_MailKeepFmt()
' send the document in an Outlook Email message - HTML Rich
Text Format maintained (Brilliant)
' 20April2008
' 2007 Graham Mayor Tony Jollans Doug Robbins
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")
'Outlook wasn't running, start it from code
If Err <> 0 Then
Set oOutlookApp = CreateObject("Outlook.Application")
bStarted = True
End If
'Create a new mailitem
Set oItem = oOutlookApp.CreateItem(olMailItem)
With oItem
.to = "(e-mail address removed)"
.Subject = InputBox("Subject?")
Selection.Copy
.GetInspector.WordEditor.Range.Paste
' .Body = Selection
.Display
End With
'Clean up
Set oItem = Nothing
Set oOutlookApp = Nothing
End Sub
That'll teach me to not to be so fast in pressing the send
button There appears to be something I am missing?
The modifications do not paste the text into the message
here?
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor wrote:
Brilliant - thanks
Tony Jollans wrote:
There ought to be a way to use HTMLBody but it isn't
entirely straightforward.
What you can do is address the Word editor in Outlook 2007
and paste the selection in. The downside to this is that
the OMG gives you a popup but that probably isn't a big
issue in a personal environment. Instead of:
.Body = Selection
Try:
Selection.Copy
.GetInspector.WordEditor.Range.Paste
I had already tried that
The formatting is lost between Word and Outlook and there
doesn't seem to be a way to actually paste into the text
area of the Outlook message window using the macro that I
have found ... yet --
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
.
Doug Robbins - Word MVP wrote:
Try
.Body = Selection.FormattedText
message I can't think of a way to pass the formatting between
the applications using this macro construction. Until
someone comes up with something better, change the line.
.Body = Selection
to
.Body = ""
and paste your formatted selection into the text area.
To cast the net wider I have cross-posted to the
programming and Outlook forums
Sub Send_Extract_As_Mail()
' send the document in an Outlook Email message
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")
'Outlook wasn't running, start it from code
If Err <> 0 Then
Set oOutlookApp = CreateObject("Outlook.Application")
bStarted = True
End If
'Create a new mailitem
Set oItem = oOutlookApp.CreateItem(olMailItem)
With oItem
.to = "(e-mail address removed)"
.Subject = InputBox("Subject?")
.Body = Selection
.Display
End With
'Clean up
Set oItem = Nothing
Set oOutlookApp = Nothing
End Sub
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
George Lutz wrote:
Terry:
Thanks, but that had no effect on the result.
George Lutz
:
In Outlook, go to Tools, Options, select the Mail
Format tab and then click on Editor Options at the
bottom.
Select the Advanced tab and then under Cut, Copy Paste
section, make sure that the Keep Source formatting
option is selected. that should then paste and keep
your formatting without need to modify the macro.
Terry
"George Lutz" <[email protected]>
wrote in message
Terry -- thanks, I found it.
Graham: Can your macro be modifed so that the text
that is pasted into the email body preserves the
formatting it had in Word? When I run your macro,
bolded text becomes unbolded and tabs disappear.
Thanks.
George Lutz
:
Right-click anywhere on the QAT and select
Customize. In the customize dialog, select All
Commands and scroll down to Microsoft Outlook.
But I am assuming that you have the whole Office
2007 suit and not just Word
2007 mixed with Outlook 2003. That combination won't
work as Word 2007 needs
Outlook 2007 for compatibility.
Hope this sorts it for you.
Terry
"George Lutz" <[email protected]>
wrote in message
Graham's macro works very nicely -- thank you,
Graham.
Terry: I would like to try your suggestion, but
Outlook does not seem to
be
a Command available to me in Word Options |
Customize | All Commands. Where
can I find the Command to which you are referring?
Thanks.
George Lutz
:
George
You can add the Outlook command button to the QAT,
just like you can add
the
Send to Mail Recipient tool to the QAT.
Terry Farrell
"George Lutz"
message
But I don't want to send the entire Word document
-- just the portion
of
it
that is my email. I take notes as I go through
the day, and occasionally
compose an email that I then want to send. The
email is just a small
portion
of the day's notes. So, I compose the email,
then cut and paste its text
into Outlook. The button I used in Word 2003
called up Outlook, opened
a
blank email, and allowed me to paste in the text
I had prepared in Word.
I
also had a button that called up Outlook with an
email already addressed
to
my assistant, who is the recipient of about half
of the 20 or so emails
I
send each day -- very convenient. Amazing that
such a useful feature
would
be eliminated in an "updated" version of Word!
I appreciate your replies. however.
George Lutz
:
It was never necessary to copy and paste into a
blank email in Outlook.
All
you ever needed to do from Word was to click on
the Send to Mail Recipient
tool (in either Word 2002, Word 2003 or Word
2007).
When you click on that tool, it adds the
standard email address bar to
the
top of the windows which looks and feels
identical to the blank email
in
Outlook.
In Word 2007, you need to add this command
button Send Mail to Recipient
to
the QAT because Microsoft inexplicably left it
off the Send Menu.
--
Terry Farrell - MSWord MVP
"George Lutz" <George
(e-mail address removed)> wrote in message
I just chagned from Word 2003 to Word 2007. In
Word 2003, I had an
icon
in
the toolbar that allowed me to call upOutlook.
I.e., I wouudl compose
and
email in word, then select and copy it, then
click on this icno, and
an
opened up ready for me to paste in the text. I
am pretty sure I used
the
Customixe feature in 2002 to do this.
How can I get such an icon in 2007 to land in
my Quick Access Toolbar?
Thanks.
George Lutz
Graham Mayor said:It just crashes without any vba error message - just the Word has
encountered an error and needs to close message, followed by the fault
reporting screen. Word then restarts.
The error occurs after the prompt for the Subject so presumably the fault
lies at
Selection.Copy
objDoc.Range.Paste
.Display
On the few occasions when it doesn't crash, the selected formatted text is
not pasted into the message window.
When Outlook is already running in the background, the macro works as
intended in both Word 2003 and 2007 (both with Outlook 2007).
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Which statement causes the crash? Error messages?
Graham Mayor said:Sue
The suggestion set the little cogs in motion
The following now does work to paste the formatted text into the
body of the message, and I have added a routine to grab the
addressee information from Outlook. However while it does work when
Outlook is running already, it usually crashes Word when Outlook is
supposed to be started from the macro.
Sub Send_Extract_As_EMail()
' send the document in an Outlook Email message
' 2007 Graham Mayor, Tony Jollans, Doug Robbins
' & Sue Mosher
Dim bStarted As Boolean
Dim oOutlookApp As Outlook.Application
Dim oItem As Outlook.MailItem
Dim objDoc As Word.Document
Dim strEMail As String
strEMail = "<PR_EMAIL_ADDRESS>"
'Let the user choose the contact from Outlook
'And assign the email address to a variable
strEMail = Application.GetAddress("", strEMail, _
False, 1, , , True, True)
If strEMail = "" Then
MsgBox "User cancelled or no address listed", , "Cancel"
End If
On Error Resume Next
'Get Outlook if it's running
Set oOutlookApp = GetObject(, "Outlook.Application")
'Outlook wasn't running, start it from code
If Err <> 0 Then
Set oOutlookApp = CreateObject("Outlook.Application")
bStarted = True
End If
'Create a new mailitem
Set oItem = oOutlookApp.CreateItem(olMailItem)
Set objDoc = oItem.GetInspector.WordEditor
With oItem
.to = strEMail
.Subject = InputBox("Subject?")
Selection.Copy
objDoc.Range.Paste
.Display
End With
'Clean up
Set oItem = Nothing
Set oOutlookApp = Nothing
End Sub
Sue Mosher [MVP-Outlook] wrote:
Yes, it should have been Set not Dim. Sorry for the confusion.
Thanks for that. I assume the second 'Dim' was a typo?
Sue Mosher [MVP-Outlook] wrote:
You might find the recent discussion at
http://www.outlookcode.com/threads.aspx?forumid=4&messageid=26382
useful, as it was on a similar subject.
I don't know if it is a clue, but if I enter
.GetInspector
and then a period vba prompts with the options - including
.WordEditor
If I add a period to the end of that, there isn't the usual
prompt offering .Range etc (though it doesn't baulk at its
addition).
Declare a Word.Document object and instantiate it:
Dim objDoc as Word.Document
Dim objDoc = MyMessage.GetInspector.WordEditor
You'll then get intellisense for objDoc.
The only thing I do in Outlook is extract a line of code from a
daily e-mail and paste it into a Word table, using a variation of
the code we discussed on an earlier occasion.
I don't appear to be able to do anything in code with the object.
I don't get an OMG (?) prompt or any other prompt or error
message. The Outlook message window opens the addressee and
subject are filled and (if nothing is entered in the ".Body ="
line) the default theme is used. The cursor is in the body area
and nothing is pasted. Pressing CTRL V or clicking the Paste
button pastes the formatted text.
I don't know if it is a clue, but if I enter
.GetInspector
and then a period vba prompts with the options - including
.WordEditor
If I add a period to the end of that, there isn't the usual
prompt offering .Range etc (though it doesn't baulk at its
addition).
It doesn't make any difference whether or not Outlook is running.
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.