It would be helpful if you would step through the code and pinpoint the issue more exactly.
Also, I would suggest a bit more precision in setting where to paste the copied content:
"Graham Mayor" <gmayor@REMOVETHISmvps.org> wrote in message news:O9L$U1QpIHA.4884@TK2MSFTNGP06.phx.gbl...
> 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
>
> My web site
www.gmayor.com
> Word MVP web site
http://word.mvps.org
> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>
>
> Sue Mosher [MVP-Outlook] wrote:
>> Which statement causes the crash? Error messages?
>>
>>
>> "Graham Mayor" <gmayor@REMOVETHISmvps.org> wrote in message
>> news:uB3L0eIpIHA.3960@TK2MSFTNGP02.phx.gbl...
>>> 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