ロバートは、ドキュメント内の代名詞の性別を変更するマクロが必要であり、おそらく、そのような変更を行うために提案されたものがあるかどうか疑問に思います。

ドキュメント内のすべての代名詞の性別を変更するマクロを探している場合、それは比較的簡単です。必要なのは、男性の代名詞のユニバーサル検索と置換操作を実行し、女性の代名詞に変更するマクロ、またはその逆のマクロだけです。 。

ただし、ノンフィクションの執筆でよく行われるように、代名詞を交互に使用するマクロ(最初の使用法は男性、2番目の使用法は女性など)を探している場合、それは別の話です。それは熟練した編集者に任せて、どの変更を行うか、そしてそれらの変更をどこまで拡張するかを判断する必要があります。

したがって、ユニバーサルルートを使用する場合、最良のアプローチは、代名詞のペア(1つの男性代名詞と対応する女性代名詞)を使用したワイルドカード検索を利用するマクロを使用して、行う変更を指定することです。次の例では、このようなアプローチを使用して、彼、彼、彼、および彼自身を女性の形(彼女、彼女、彼女、彼女自身)に、またはその逆に変更します。

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

リストには3つのマクロがあることに注意してください。 MaleToFemaleマクロを使用して男性代名詞から女性代名詞に変更し、FemaleToMaleマクロを使用して他の方向を変更する必要があります。代名詞のペア自体は、男性と女性の配列のGenderChangeマクロにあります。

各代名詞は、大文字と小文字のさまざまな組み合わせを使用して、配列に3回含まれていることに注意してください。これは、ワイルドカード検索では大文字と小文字が区別されるため、ケースインスタンスごとに異なる検索が必要になるためです。

マクロは、変更を加える前に変更の追跡もオンにすることに注意してください。このようにして、マクロによって行われたすべての変更がドキュメントに記録され、通常の変更の追跡解決プロセスを使用して、行われた各変更を評価できます。これは、英語がひどく不正確であり、一般的に代名詞と見なされるいくつかの単語の使用法にあいまいさが存在するために行われます。たとえば、「彼」と「彼女」という単語は、所有格の人称代名詞または所有格の形容詞として使用できます。コンテキストでそれらを見る場合にのみ、適切な使用法を区別することができます。これは、マクロが明らかに行わないことです。結論-変更後に読んで、ドキュメントに意味があることを確認してください。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(12896)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice365のWordに適用されます。