Please Note: This article is written for users of the following Microsoft Word versions: 97, 2000, 2002, and 2003. If you are using a later version (Word 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Word, click here: Accessing Paragraphs in a Macro.
Written by Allen Wyatt (last updated March 11, 2023)
This tip applies to Word 97, 2000, 2002, and 2003
One of the nifty things about programming VBA macros is that the language is object-oriented. This means that you can access every part of your document using objects and collections of objects. In other words, you can manipulate paragraphs without ever needing to select them.
For instance, let's say you wanted to access each paragraph of a document, in turn, and do some processing on the text in that paragraph. Since each paragraph is a distinct object in the document, this is relatively easy. All of the paragraph objects are accessible as part of the Paragraphs collection. The following code will do the trick:
iParCount = ActiveDocument.Paragraphs.Count For J = 1 To iParCount sMyPar = ActiveDocument.Paragraphs(J).Range.Text [Add processing comments to manipulate sMyPar] ActiveDocument.Paragraphs(J).Range.Text = sMyPar Next J
The first line of the code sets iParCount equal to the number of paragraphs in the current document. The loop starting in the second line then does the main work in the macro. The third line set the sMyPar string equal to the text within the specified paragraph. (When J is equal to 1, you are working with the first paragraph. When J is equal to 2, it is the second paragraph—and so on.)
After the processing of sMyPar is complete, then the next line sets the document text equal to the modified text in the sMyPar string.
Note:
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (823) applies to Microsoft Word 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Word (Word 2007 and later) here: Accessing Paragraphs in a Macro.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!
If your macro needs to know how many pages are in your document, you can use the Information method to get the desired ...
Discover MoreDo you need to step through a table, cell by cell, in a macro? It's easy to do using the Move method, as described in ...
Discover MoreUsing a macro to format your document (or portions of your document) is not all that uncommon. If you want your macro to ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
Got a version of Word that uses the menu interface (Word 97, Word 2000, Word 2002, or Word 2003)? This site is for you! If you use a later version of Word, visit our WordTips site focusing on the ribbon interface.
Visit the WordTips channel on YouTube
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2024 Sharon Parq Associates, Inc.
Comments