Räkna ord för ett avsnitt

January 15

En av fördelarna med fälten är att du kan sätta in dynamisk information inom ditt dokument. När fältet uppdateras, ersätts med den information är aktuell i förhållande till fältet i bruk. Till exempel kan du använda NumWords fältet för att infoga antalet ord i dokumentet. När fältet uppdateras, ersätts med men många ord är sedan i dokumentet.

Om du vill ta reda på hur många ord i ett avsnitt, och har det dynamiskt placerat i ett dokument, då är du ute på tur. Det finns inget fält som kommer tillbaka den här informationen. Du kan finna det manuellt genom att markera texten i avsnittet och sedan välja Word Count verktyg, men som uppenbarligen inte uppfyller önskan att ha ett värde som kan infogas i dokumentet och uppdateras automatiskt.

Detta innebär att du kommer att behöva förlita sig på ett makro för att få önskad antalet ord. Om du bara vill veta hur många ord i varje avsnitt i dokumentet, kan följande makro vara till hjälp.

Sub WordCount ()
Dim NumSec As Integer
Dim S As Integer
Dim Sammanfattning As String

NumSec = ActiveDocument.Sections.Count
Sammanfattning = "Räkna ord" & vbCrLf

För S = 1 Till NumSec
Sammanfattning = Sammanfattning & "Avsnitt" & S & ":" _
& ActiveDocument.Sections (S) .Range.Words.Count _
& VbCrLf
Nästa

Sammanfattning = Sammanfattning & "Dokument:" & _
ActiveDocument.Range.Words.Count
MsgBox Sammanfattning
End Sub

Detta steg helt enkelt genom varje avsnitt, bestämmer antalet ord i det avsnittet, och visar sammanfattande information i en meddelanderuta. Detta ger inte ett sätt att dynamiskt infoga informationen i dokumentet, men det ger en bild av hur du kan hitta antalet ord i ett enda stycke.

En variant på tekniken gör det möjligt att automatiskt infoga ordet räkna till ett särskilt avsnitt på platsen för ett bokmärke i dokumentet. Låt oss säga att du har en bokmärkt kallat "WordCount" som du har definierat. Denna bokmärke anger den plats där du vill att antalet ord i den andra delen av dokumentet. Följande makrot kommer att avgöra antalet ord för det angivna avsnittet och sedan in texten vid platsen för bokmärket.

Sub InsertWordCount ()
Dim orange Word.Range
Dim sBookmarkName As String
Dim Stemp As String

sBookmarkName = "WordCount"
Med ActiveDocument
Stemp = Format (.Sections (2) .Range.Words.Count, "0")
Set Orange = .Bookmarks (sBookmarkName) .Range
oRange.Delete
oRange.InsertAfter Text: = Stemp
.Bookmarks.Add Namn: = sBookmarkName, Range: = Orange
End Med
End Sub

Makro lätt skulle kunna anropas från andra makron, såsom en som körs när dokumentet öppnas, sparas eller skrivas ut. På så sätt ordet räkna kommer att ses över alla normala tider när ett fält uppdateras automatiskt.

WordTips är din källa för kostnadseffektiv Microsoft Word utbildning. (Microsoft Word är det mest populära ordbehandlingsprogram i världen.) Detta tips (11098) gäller Microsoft Word 2007 och 2010. Du kan hitta en version av detta tips för den äldre menygränssnittet Word här: Räkna ord för ett avsnitt .