Si tiene un documento que incluye texto en varios cuadros de texto, debe comprender que si realiza un recuento de palabras, Word no incluye las palabras de los cuadros de texto en el recuento de palabras que devuelve. Si solo desea saber la cantidad de palabras en un cuadro de texto, hay una forma de evitar esto:

Simplemente seleccione el cuadro de texto cuyas palabras desea contar antes de iniciar la función de conteo de palabras. Word luego cuenta obedientemente solo las palabras en el cuadro de texto, ignorando el resto del documento.

Sin embargo, hay un momento en el que esta técnica de seleccionar antes de contar no funcionará. Si tiene varios cuadros de texto que contienen palabras y esos cuadros de texto están agrupados, la función de conteo de palabras no los reconocerá como «contables» si selecciona el grupo. En otras palabras, para contar los caracteres en los cuadros de texto que componen el grupo, primero debe desagrupar el grupo y luego contar cada cuadro de texto.

Obviamente, esto puede volverse tedioso de hacer una y otra vez. Una forma de evitar esto es utilizar una macro que realice estos mismos pasos por usted.

La siguiente macro, TextBoxCount, recorre todas las formas de su documento. Si están agrupados, se desagrupan automáticamente. Luego, ejecuta un recuento de palabras en cada cuadro de texto y devuelve un cuadro de diálogo que indica el número de palabras y caracteres en los cuadros de texto (colectivamente) y el número de palabras y caracteres en todo el documento, incluidos los cuadros de texto.

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

Recuerde que esta macro desagrupa cualquier agrupación realizada previamente en el documento. Por esta razón, es posible que desee ejecutar la macro después de guardar su documento y luego descartar el documento (volver a cargarlo desde el disco) después de obtener su recuento.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios WordTips), he preparado una página especial que incluye información útil.

link: / wordribbon-WordTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

WordTips es su fuente de formación rentable en Microsoft Word.

(Microsoft Word es el software de procesamiento de texto más popular del mundo). Este consejo (1839) se aplica a Microsoft Word 97, 2000, 2002 y 2003.