Written by Allen Wyatt (last updated October 31, 2020)
This tip applies to Word 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365
Robert would like to have a macro that changes the gender of pronouns in documents and wonders if, perhaps, there is anything suggested to make such changes.
If you are looking for a macro to change the gender of all pronouns in a document, that is relatively straightforward—all you need is one that will do universal search and replace operations for male pronouns and change them to female pronouns, or vice-versa.
If, however, you are looking for a macro that will alternate pronouns—first usage is male, second is female, etc.—such as is often done in non-fiction writing, that is a different story. That is best left to a skilled editor to make the judgment calls on which changes to make and how far to extend those changes.
So, assuming you want to go the universal route, the best approach is to use a macro that utilizes wildcard searching using pairs of pronouns (one male pronoun with a corresponding female pronoun) to specify the changes to be made. The following example uses such an approach to change he, him, his, and himself to the female forms (she, her, hers, herself) or vice versa.
Sub MaleToFemale() GenderChange (True) End Sub
Sub FemaleToMale() GenderChange (False) End Sub
Sub GenderChange(isMale As Boolean) Dim aRange As Range Dim fTest As Boolean Dim j As Long Dim k As Long Dim male Dim female male = Array("he", "He", "HE", "him", "Him", "HIM", "his", _ "His", "HIS", "himself", "Himself", "HIMSELF") female = Array("she", "She", "SHE", "her", "Her", "HER", "hers", _ "Hers", "HERS", "herself", "Herself", "HERSELF") ActiveDocument.TrackRevisions = True Set aRange = ActiveDocument.Range With aRange.Find .ClearFormatting .Replacement.ClearFormatting .Replacement.Highlight = False .Forward = True .Format = False .Wrap = wdFindStop .Format = False .Highlight = False .MatchCase = False .MatchWholeWord = False .MatchSoundsLike = False .MatchAllWordForms = False .MatchPrefix = False .MatchWildcards = True j = UBound(male) For k = 0 To j If isMale Then .Text = "<" & male(k) & ">" .Replacement.Text = female(k) Else .Text = "<" & female(k) & ">" .Replacement.Text = male(k) End If fTest = aRange.Find.Execute(Replace:=wdReplaceAll) Next k End With ActiveDocument.TrackRevisions = False End Sub
Note that there are three macros in the listing. You should use the MaleToFemale macro to change from male pronouns to female pronouns and the FemaleToMale macro to change the other direction. The pronoun pairs themselves are in the GenderChange macro, in the male and female arrays. Note that each pronoun is included in the array three times using different combinations of upper- and lowercase characters. This is because the wildcard search is case sensitive, so the different searches for each case instance is necessary.
Note that the macro also turns on Track Changes before it makes any changes. That way every change made by the macro is noted in the document and you can then use the regular Track Changes resolution process to evaluate each change made. This is done because the English language is terribly imprecise and there is ambiguity in the usage of some words that we generally consider pronouns. For instance, the words "his" and "hers" can be used as either possessive personal pronouns or as possessive adjectives. It is only possible to distinguish the proper usage when looking at them in context, which is something the macro obviously doesn't do. Bottom line—read after changing so you can make sure your document still makes sense.
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 (12896) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!
Got some numbers you need spelled out? Here's a handy macro that can convert numbers like "123" to words like "one ...
Discover MoreAssociate a macro with a shortcut key, and at some time you may want to break that association. (Perhaps so the shortcut ...
Discover MoreYour macro code may need to determine the month of the year represented by a particular date. You can find the desired ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
2022-10-28 09:33:32
cam
Thank you for this but what about changing pronouns to you, your, yourself?
2021-11-01 12:41:41
Jason
What about changing the pronouns (either male or female) to gender neutral (e.g., they/them)?
2020-10-31 14:02:06
David Cohen
I know that Allen can devise a macro for nearly every issue. An old-school way to deal this would be to find and replace each pronoun with exactly the same word but in a red (for example) font. You can then easily cruise through the document quickly, spot issues, and make changes. When you're done, highlight the entire document and make all font black.
Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu 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