From: Matt on
This works perfect!! Wow, nice job. Searched everywhere for something like
this.

"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
>
> --
> Enjoy,
> Tony
>
> "Graham Mayor" <gmayor(a)REMOVETHISmvps.org> wrote in message
> news:OspGL9roIHA.552(a)TK2MSFTNGP06.phx.gbl...
> >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
> > Word MVP web site http://word.mvps.org
> > <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
> > .
> >
> > Doug Robbins - Word MVP wrote:
> >> Try
> >>
> >> .Body = Selection.FormattedText
> >>
> >>
> >> "Graham Mayor" <gmayor(a)REMOVETHISmvps.org> wrote in message
> >> news:%233fBmProIHA.4616(a)TK2MSFTNGP05.phx.gbl...
> >>> 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 = "someone(a)somewhere.com"
> >>> .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
> >>> Word MVP web site http://word.mvps.org
> >>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
> >>>
> >>>
> >>>
> >>> George Lutz wrote:
> >>>> Terry:
> >>>>
> >>>> Thanks, but that had no effect on the result.
> >>>>
> >>>> George Lutz
> >>>>
> >>>> "Terry Farrell" wrote:
> >>>>
> >>>>> 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" <GeorgeLutz(a)discussions.microsoft.com> wrote in
> >>>>> message news:AFA46BFE-E95A-4281-92A2-12CEC503C434(a)microsoft.com...
> >>>>>> 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
> >>>>>>
> >>>>>> "Terry Farrell" wrote:
> >>>>>>
> >>>>>>> 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" <GeorgeLutz(a)discussions.microsoft.com> wrote in
> >>>>>>> message
> >>>>>>> news:75250428-033E-45B7-B7D8-08211F879919(a)microsoft.com...
> >>>>>>>> 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
> >>>>>>>>
> >>>>>>>> "Terry Farrell" wrote:
> >>>>>>>>
> >>>>>>>>> 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" <GeorgeLutz(a)discussions.microsoft.com> wrote in
> >>>>>>>>> message
> >>>>>>>>> news:5F4E7F9A-7155-40CA-9AAF-2B3C73B291A3(a)microsoft.com...
> >>>>>>>>>> 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
> >>>>>>>>>>
> >>>>>>>>>> "Terry Farrell" wrote:
> >>>>>>>>>>
> >>>>>>>>>>> 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 Lutz(a)discussions.microsoft.com> wrote
> >>>>>>>>>>> in message
> >>>>>>>>>>> news:9BB76EF2-D598-444C-9B26-B33575E4F950(a)microsoft.com...
> >>>>>>>>>>>> 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
> >>>>>>>>>>>> email
> >>>>>>>>>>>> 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
> >
> >
>
>
From: aushknotes on
Hi,

I am referring to the thread "How to get to email from Word" dated
4/20/2008. Virtually you have made the formatting worked.

I'm using Word 2003/Outlook 2003. I copied the whole sub from Gramham's
final version dated 04/22/2008, but I am stuck with error 91 - object
variable or With block not set) on the statement

objDoc.Range.Paste.

What do I need to do get around with the this error?

Many thanks,


From: Graham Mayor on
The final working macro was

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

My web site www.gmayor.com
Word MVP web site http://word.mvps.org
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>


aushknotes wrote:
> Hi,
>
> I am referring to the thread "How to get to email from Word" dated
> 4/20/2008. Virtually you have made the formatting worked.
>
> I'm using Word 2003/Outlook 2003. I copied the whole sub from
> Gramham's final version dated 04/22/2008, but I am stuck with error
> 91 - object variable or With block not set) on the statement
>
> objDoc.Range.Paste.
>
> What do I need to do get around with the this error?
>
> Many thanks,


From: aushknotes on
Thanks for you quick reply, but still the same error 91 on the statement

objDoc.Range.Paste



"Graham Mayor" wrote:

> The final working macro was
>
> 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
>
> My web site www.gmayor.com
> Word MVP web site http://word.mvps.org
> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>
>
> aushknotes wrote:
> > Hi,
> >
> > I am referring to the thread "How to get to email from Word" dated
> > 4/20/2008. Virtually you have made the formatting worked.
> >
> > I'm using Word 2003/Outlook 2003. I copied the whole sub from
> > Gramham's final version dated 04/22/2008, but I am stuck with error
> > 91 - object variable or With block not set) on the statement
> >
> > objDoc.Range.Paste.
> >
> > What do I need to do get around with the this error?
> >
> > Many thanks,
>
>
>