Endre Pronomen Kjønn

July 9  by Eliza

Robert ønsker å ha en makro som endrer kjønn av pronomen i dokumenter og lurer på om kanskje det er noe foreslått å gjøre slike endringer.

Hvis du er ute etter en makro til å endre kjønn på alle pronomen i et dokument, er det relativt enkelt-alt du trenger er en som vil gjøre universell søk og erstatt-operasjoner for mannlige pronomen og endre dem til kvinnelige pronomen, eller vice-versa .

Hvis, derimot, er du ute etter en makro som vil veksle pronomen-første-bruk er mann, andre er kvinnelig, etc., for eksempel er ofte gjort i non-fiction skriving, det er en annen historie. Som er best overlatt til en dyktig redaktør å gjøre dom samtaler om hvilke endringer for å gjøre og hvor langt å forlenge disse endringene.

Så, forutsatt du ønsker å gå den universelle rute, er den beste tilnærmingen til å bruke en makro som utnytter wildcard søker ved å bruke par av pronomen (en mannlig pronomen med en tilsvarende kvinnelig pronomen) for å spesifisere endringer skal gjøres. Følgende eksempel bruker en slik tilnærming til å endre han, ham, hans, og seg selv til de kvinnelige former (hun, hennes, hennes, selv) eller omvendt.

Sub MaleToFemale ()
GenderChange (sann)
End Sub

Sub FemaleToMale ()
GenderChange (usann)
End Sub

Sub GenderChange (isMale Som Boolean)
Dim Arange Som Range
Dim F-test Som boolsk
Dim j Som Long
Dim k Som Long
Dim mannlig
Dim kvinnelig
mannlig = Array ("han", "Han", "han", "ham", "Ham", "ham", "hans", _
"Hans", "hans", "seg selv", "seg selv", "seg selv")
female = Array ("hun", "Hun", "hun", "henne", "Her", "HER", "hennes", _
"Hennes", "hennes", "seg selv", "Herself", "seg selv")

Set Arange = ActiveDocument.Range
Med 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 (hann)
For k = 0 For å j
Hvis isMale Deretter
.Text = "<" Og male (k) og ">"
.Replacement.Text = Kvinne (k)
Else
.Text = "<" Og kvinnelige (k) og ">"
.Replacement.Text = Mann (k)
End If
F-test = aRange.Find.Execute (erstatt: = wdReplaceAll)
Neste k
Avslutt med
End Sub

Legg merke til at det er tre makroer i oppføringen. Du bør bruke den MaleToFemale makro til å endre fra mannlige pronomen til kvinnelige pronomen og den FemaleToMale makro til å endre den andre retningen. Pronomenet parene selv er i GenderChange makro, i den mannlige og kvinnelige arrays. Merk at hver pronomen er inkludert i gruppen tre ganger ved å bruke forskjellige kombinasjoner av store og små bokstaver. Dette er fordi wildcard søk er store og små bokstaver, så de ulike searchs for hvert tilfelle eksempel er nødvendig.

Selv med en makro tilnærming som dette (eller spesielt med en slik tilnærming) er det lurt å lese gjennom dokumentet etter bruk. Grunnen er fordi det engelske språket er fryktelig upresis og det er tvetydighet i bruken av enkelte ord vi vanligvis anser pronomen. For eksempel ordene "hans" og "hennes" kan brukes som enten eiendomspronomen personlige pronomen eller som eiendoms adjektiver. Det er bare mulig å skille riktig bruk når man ser på dem i sammenheng, som er noe makro tydeligvis ikke gjør. Ergo-read etter endring, slik at du kan sørge for at dokumentet fortsatt er fornuftig.

WordTips er din kilde for kostnadseffektiv Microsoft Word trening. (Microsoft Word er den mest populære tekstbehandlingsprogrammet i verden.) Dette tipset (12896) gjelder for Microsoft Word 2007, 2010, og 2013.