Learn how to a build a cloud-first strategyRegister Now

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

Macro to insert selected paragraphs from webpage

Hi

This is to enhance the solution that was created here:
http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Word/Q_25646695.html

I need to create a macro where a user will press a hotkey, then a prompt (form will look like "select-paragraph.jpg") will come up where they are to enter a number(s) to indicate which paragraphs they want inserted into their document.

The paragraphs will be coming from a word document (or local webpage) that resides on our server (paragraphs.doc).  As you can see in the paragraphs.doc file, there are numbers associated to the paragraphs.  So at the "Select Paragraph" prompt, they will enter "2,4,5", the macro will insert paragraphs 2,4 and 5.

 Paragraphs.doc
 Select Paragraph Form
0
SBFVAN
Asked:
SBFVAN
  • 2
  • 2
1 Solution
 
lwebberCommented:
You don't need a macro for this. Open Paragraphs.doc and choose File, Save As. Save it as a template (.dot) file, and put it in a shared ntwork folder (let's call it F:\word\global. In Paragraphs.dot, for each paragraph:

1. Select the full paragraph.
2. Press Alt+F3 to create an AutoText entry. Name it p1 or p2 or p999.
3. Make sure the AutoText entry is saved in Paragraphs.dot (that should be the default).

While you're at it, you could precede each para with a separate one-line para showing its number. Makes it easier to keep track of which is which.

4. Save and close Paragraphs.dot

Now on any machine in the office, add Paragraphs.dot to the Global Templates and Add-ins list (Tools, Templates and Add-ins). You only have to add it once, but in future Word sessions you have to go in there and checkmark it to activate it. If that's too much work, then save Paragraphs.dot in the user's Startup folder -- it will appear on the Global Templates and Add-ins list with a checkmark every time you start Word.

Now for the UX. Enter p45 then F3. If you want to enter paras 1, 3, 6, 7, 10, and 15:

p1 F3 p3 F3 p6 F3 p7 F3 p10 F3 p15 F3

Yes -- this adds ONE keystroke to the total they would otherwise have to press (they have to type the "p" -- but they extra F3 is offset by no need for a comma).

If you need to change the source paras, just edit Paragraphs.dot. When you have modded a paragraph, re-create its AutoText entry, then save the document.
0
 
SBFVANAuthor Commented:
Hi Iwebber

Thanks for the answer.

Just curious, would it be possible to grab the paragraphs from a website.  I'd prefer for it to grab the paragraphs from an official webpage to minimize the potential for error as well as being up to date.

Please advise

Thanks

SBFVAN
0
 
lwebberCommented:
No. AutoText has to live inside a Word template. To use a web page as a source, you would need to write some VBA code. This will be unpleasant, because the custom code has to know the internal formatting of the web page so that it can pick off what to you seem like obvious paragraphs. You could make your life easier if you have control over the formatting of the web page, and use tags with ID attributes like Para1, Para2, etc. But still, the VBA code is highly non-trivial. Word has to instantiate its own web browser, navigate to the page, parse the contents, grab the paragraph, etc. And after all that, you're not going to get stable formatting (unlike the AutoText approach).

How often do the contents change? You could simply distribute updated copies of the template to your users in a self-unpacking Zip file that copies the template into the user's Startup folder.
0
 
SBFVANAuthor Commented:
Thanks
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

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