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!
You can open multiple documents at the same time in Word, and each document occupies its own document window. Here's a ...
Discover MoreWord allows users to conveniently work with multiple documents at the same time. When writing macros, you may need to ...
Discover MoreWhile your macro is processing the text in your document, you may need a way to determine the current page number where ...
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