Conteggio caratteri in caselle di testo

Se si dispone di un documento che contiene il testo in diverse caselle di testo, si dovrebbe capire che se si fa un conteggio delle parole, Word non include le parole caselle di testo nella parola contano restituisce. Se volete conoscere solo il numero di parole in una casella di testo, c'è un modo per aggirare questo: basta selezionare la casella di testo le cui parole si vuole contare prima di avviare la funzione Conteggio parole. Parola poi conta doverosamente solo le parole nella casella di testo, ignorando il resto del documento.

C'è un momento in cui questa tecnica select-before-count non funziona, però. Se si dispone di più caselle di testo contenenti parole, e quelle caselle di testo sono raggruppati, quindi la funzione Conteggio parole non li riconosce come "numerabile" se si seleziona il gruppo. In altre parole, per contare i caratteri nelle caselle di testo che compongono il gruppo, è necessario prima separare il gruppo e poi contare ciascuna casella di testo.

Ovviamente, questo può diventare noioso di fare più e più volte. Un modo per aggirare questo è quello di utilizzare una macro che esegue gli stessi passaggi per voi. La seguente macro, TextBoxCount, passi attraverso tutte le forme nel documento. Se sono raggruppati, quindi sono automaticamente separati. E poi esegue un numero di parole su ogni casella di testo e restituisce una finestra di dialogo che indica il numero di parole e caratteri nelle caselle di testo (collettivamente) e il numero di parole e caratteri in tutto il documento, comprese le caselle di testo.

Sub TextBoxCount ()
LngTBWords Dim As Long
LngTBChars Dim As Long
LngDocWords Dim As Long
LngDocChars Dim As Long
Dim shpTemp Come Shape
Dim wcTemp Come Dialog
Dim bDone Come booleano

Application.ScreenUpdating = False

Fare
bDone = True
Per ogni shpTemp In ActiveDocument.Shapes
Se shpTemp.Type = msoGroup Poi
shpTemp.Ungroup
bDone = False
End If
Successivo shpTemp
Loop Until bDone

'Get contare in documento principale
Selection.HomeKey Unità: = wdStory
Set wcTemp = Dialogs (wdDialogToolsWordCount)
wcTemp.Update
wcTemp.Execute
lngDocWords = wcTemp.Words
lngDocChars = wcTemp.Characters

'Passo attraverso forme e aggiungere conta
lngTBWords = 0
lngTBChars = 0
Per ogni shpTemp In ActiveDocument.Shapes
shpTemp.Select
wcTemp.Execute
lngTBWords = lngTBWords + wcTemp.Words
lngTBChars = lngTBChars + wcTemp.Characters
Successivo shpTemp
lngDocWords = lngDocWords + lngTBWords
lngDocChars = lngDocChars + lngTBChars

Application.ScreenUpdating = True
MsgBox Str (ActiveDocument.Shapes.Count) _
e "le caselle di testo trovati con" & _ vbCr
E Str (lngTBWords) e "parola (s) e" & _ vbCr
E Str (lngTBChars) e "personaggi" e vbCr & vbCr _
& "Nel documento totale ci sono" & _ vbCr
E Str (lngDocWords) e "parola (s) e" & _ vbCr
E Str (lngDocChars) e "personaggi"
End Sub

Ricorda che questa macro Separa ogni raggruppamento fatto in precedenza nel documento. Per questo motivo, si consiglia di eseguire la macro dopo aver salvato il documento, e poi scarta il documento (ricaricarlo dal disco) dopo aver ottenuto il conteggio.

WordTips è la vostra fonte per la formazione Microsoft Word conveniente. (Microsoft Word è il più popolare software di elaborazione testi del mondo.) Questa punta (1839) si applica a Microsoft Word 97, 2000, 2002, e 2003.