|
Prev: Help debugging macro
Next: Page number fields issue
From: Matt on 30 Jun 2008 14:25 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 > >>>>>>>>>>>> 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 10 Jul 2008 22:02 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 11 Jul 2008 01:46 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 11 Jul 2008 06:28 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, > > >
|
Pages: 1 Prev: Help debugging macro Next: Page number fields issue |