Kontrollere for savnede anførselstegn

August 22  by Eliza

David er en forfatter og han bruker Word staving, stil og grammatikk brikker mye. Noen ganger finner han at Word forslag, for å korrigere grammatikk, er dårlig og han har lært å ignorere dem. En ting at han har problemer med er bruk av anførselstegn rundt dialog. Word gjenkjenner ikke om David har etterlatt seg et anførselstegn på slutten eller begynnelsen av en setning. Han husker å bruke et tekstbehandlingsprogram år siden at venstre grønne anførselstegn på dokumentet for å indikere en manglende anførselstegn. Han lurer på om Word kan gjøres for å gjenkjenne mangler anførselstegn.

Det er ingen måte å gjøre dette smertefritt i Word. Grunnen koker nok ned til det faktum at det er nesten umulig å bestemme hvor et tilbud skal begynne og slutte. For eksempel, hvis du har et avsnitt som inneholder fire setninger og du plasserer et anførselstegn eller annet sted innenfor nevnte punkt, hvordan er Word for å avgjøre om det merket betegner begynnelsen eller slutten av et sitat? Hvis det er begynnelsen, hvordan ville Word vite om avslutningen mark bør være på slutten av setningen, slutten av den andre setningen, eller slutten av avsnittet? (Samme problem oppstår hvis sitatet er avslutningen sitat, men plasseringen forvirring strekker seg til venstre i stedet for høyre.)

Kombiner dette potensialet forvirring med det faktum at den avsluttende anførselstegn kanskje ikke engang være i gjeldende avsnitt-det kunne være på slutten av et senere avsnitt når dialogen blir merket faktisk ender.

Du kan imidlertid utvikle en makro som ville gjøre minst noen elementære kontroll for deg. Følgende makro hopper til begynnelsen av dokumentet og søker for første anførselstegn. Den undersøker deretter alt fra det tegnet til slutten av avsnittet. Hvis du bruker noe annet enn smarte anførselstegn, sjekker den i utgangspunktet å se om det er et likt antall anførselstegn. Hvis du bruker smarte anførselstegn, så det sjekker for å se om det er en avslutning sitat for hver start sitat. Hvis enten tilstanden er funnet å være falsk, så teksten er uthevet.

Sub MarkUnevenQuotes ()
Dim sRAW As String
Dim iNorm As Integer
Dim iSmart As Integer
Dim J Som Long

Selection.HomeKey Enhet: = wdStory
Application.ScreenUpdating = False
Selection.Find.ClearFormatting
Med Selection.Find
.Text = "" ""
.Replacement.Text = ""
.forward = True
.Wrap = WdFindStop
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
Avslutt med
Selection.Find.Execute

Mens Selection.Find.Found
Selection.MoveDown Enhet: = wdParagraph, Count: = 1, Extend: = wdExtend
Selection.MoveLeft Enhet: = wdCharacter, Count: = 1, Extend: = wdExtend
sRAW = Selection.Text
iNorm = 0
iSmart = 0
For J = 1 Til Len (sRAW)
Hvis Mid (sRAW, J, 1) = Chr (34) Deretter
Hvis iNorm> 0 Then
iNorm = iNorm - 1
Else
iNorm = iNorm + 1
End If
End If
Hvis Mid (sRAW, J, 1) = Chr (147) Deretter
iSmart = iSmart + 1
End If
Hvis Mid (sRAW, J, 1) = Chr (148) Deretter
iSmart = iSmart - 1
End If
Neste J
Hvis iNorm> 0 Eller iSmart> 0 Then
Selection.Range.HighlightColorIndex = wdYellow
End If
Selection.Collapse Regi: = wdCollapseEnd
Selection.Find.Execute
Wend
Selection.HomeKey Enhet: = wdStory
Application.ScreenUpdating = True
End Sub

Når makroen er gjort, hva du ender opp med er en haug med tekst valg uthevet hvis de må kontrolleres visuelt. Makroen vil imidlertid ikke finne slutter sitater som er utenfor avsnittet der skjer det første sitatet.

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