Se hai un documento che include testo in varie caselle di testo, dovresti capire che se esegui un conteggio parole, Word non include le parole nelle caselle di testo nel conteggio parole che restituisce. Se vuoi conoscere solo il numero di parole in una casella di testo, c’è un modo per aggirare questo:

Seleziona la casella di testo di cui desideri contare le parole prima di avviare la funzione Conteggio parole. Word conta quindi diligentemente solo le parole nella casella di testo, ignorando il resto del documento.

Tuttavia, c’è una volta in cui questa tecnica di selezione prima del conteggio non funzionerà. Se si dispone di più caselle di testo contenenti parole e tali caselle di testo sono raggruppate, la funzione Conteggio parole non le riconoscerà come “numerabili” se si seleziona il gruppo. In altre parole, per contare i caratteri nelle caselle di testo che compongono il gruppo, devi prima separare il gruppo e poi contare ogni casella di testo.

Ovviamente, questo può diventare noioso da fare più e più volte. Un modo per aggirare questo è utilizzare una macro che esegue questi stessi passaggi per te.

La seguente macro, TextBoxCount, passa attraverso tutte le forme nel documento. Se sono raggruppati, vengono automaticamente separati. Quindi esegue un conteggio delle parole su ciascuna 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 nell’intero documento, comprese le caselle di testo.

Sub TextBoxCount()

Dim lngTBWords As Long     Dim lngTBChars As Long     Dim lngDocWords As Long     Dim lngDocChars As Long     Dim shpTemp As Shape     Dim wcTemp As Dialog     Dim bDone As Boolean

Application.ScreenUpdating = False

Do         bDone = True         For Each shpTemp In ActiveDocument.Shapes             If shpTemp.Type = msoGroup Then                 shpTemp.Ungroup                 bDone = False             End If         Next shpTemp     Loop Until bDone

'Get count in main document     Selection.HomeKey Unit:=wdStory     Set wcTemp = Dialogs(wdDialogToolsWordCount)

wcTemp.Update     wcTemp.Execute     lngDocWords = wcTemp.Words     lngDocChars = wcTemp.Characters

'Step through shapes and add counts     lngTBWords = 0     lngTBChars = 0     For Each shpTemp In ActiveDocument.Shapes         shpTemp.Select         wcTemp.Execute         lngTBWords = lngTBWords + wcTemp.Words         lngTBChars = lngTBChars + wcTemp.Characters     Next shpTemp     lngDocWords = lngDocWords + lngTBWords     lngDocChars = lngDocChars + lngTBChars

Application.ScreenUpdating = True     MsgBox Str(ActiveDocument.Shapes.Count) _       & " text boxes found with" & vbCr _       & Str(lngTBWords) & " word(s) and" & vbCr _       & Str(lngTBChars) & " characters" & vbCr & vbCr _       & " In the total document there are" & vbCr _       & Str(lngDocWords) & " word(s) and" & vbCr _       & Str(lngDocChars) & " characters"

End Sub

Ricorda che questa macro separa qualsiasi raggruppamento precedentemente eseguito nel documento. Per questo motivo, potresti voler eseguire la macro dopo aver salvato il documento e quindi eliminare il documento (ricaricarlo dal disco) dopo aver ottenuto il conteggio.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (1839) si applica a Microsoft Word 97, 2000, 2002 e 2003.