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.
With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company.
Learn more about Allen...
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: Replacing Quoted Text with Italics.
In many word processors, an author may call out material with quote marks. For instance, the first time a term is introduced, the author may enclose the term in quote marks. In Word, however, you can call out information with italics. Manually changing quoted material to italics can be very time consuming.
The following macro, QuotesToItalics, checks the current paragraph for quoted material. If there is any, it deletes the quotes and changes the text between the quotes to italics. If the quote marks are unbalanced (there is an opening or closing quote mark with no corresponding closing or opening quote mark), then the quote mark is ignored and no changes are made. The macro works with either regular quotes or smart quotes.
Sub QuotesToItalic() Dim Redo As Boolean Dim Ptr As Integer Dim Ptr1 As Integer Dim P As String Dim P1 As String If Selection.ExtendMode Then Exit Sub Redo = True While Redo Selection.StartOf Unit:=wdParagraph, Extend:=wdMove Selection.MoveEnd Unit:=wdParagraph P = Selection.Text Ptr = InStr(P, Chr(34)) If Ptr = 0 Then Ptr = InStr(P, Chr(147)) If Ptr > 0 Then Selection.MoveLeft Unit:=wdCharacter, Extend:=wdMove Selection.MoveRight Unit:=wdCharacter, Count:=Ptr Selection.MoveEnd Unit:=wdParagraph P1 = Selection.Text Ptr1 = InStr(P1, Chr(34)) If Ptr1 = 0 Then Ptr1 = InStr(P1, Chr(148)) EndChar = Chr(148) Else EndChar = Chr(34) End If If Ptr1 > 0 Then Selection.MoveLeft Unit:=wdCharacter, Count:=2, _ Extend:=wdMove Selection.Delete Unit:=wdCharacter Selection.MoveRight Unit:=wdCharacter, _ Count:=Ptr1 - 1, Extend:=wdExtend Selection.Font.Italic = True Selection.MoveRight Unit:=wdCharacter, Extend:=wdMove Selection.Delete Unit:=wdCharacter Else Selection.MoveRight Unit:=wdCharacter, Extend:=wdMove Redo = 0 End If Else Selection.MoveRight Unit:=wdCharacter, Extend:=wdMove Redo = 0 End If Wend End Sub
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (264) 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: Replacing Quoted Text with Italics.
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!