Contar palabras aparece incorrecta cuando se utiliza la propiedad "Palabras" de VBA

Para una versión de Microsoft Word 97 de este artículo, consulte 159791 .

Para obtener una versión de Microsoft Word 98 Macintosh Edition de este artículo, consulte 183870 .

Para una versión de Microsoft Word 2000 de este artículo, consulte 212705 .

Síntomas

Cuando se utiliza el de Microsoft Visual Basic para Aplicaciones (VBA) palabras propiedad para devolver un recuento de palabras en un documento de Microsoft Word, aparece el número de palabras que devuelven inexacta.

Causa

Microsoft proporciona ejemplos de programación fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, pero no se limita, a las garantías implícitas de comerciabilidad o idoneidad para un propósito particular. Este artículo asume que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

290140 cómo ejecutar el código de ejemplo para los programas de Office XP desde artículos de Knowledge Base

La propiedad Words devuelve una colección que representa todas las palabras de un documento, selección o intervalo. La colección incluye todas las marcas de puntuación y de párrafo en la selección o el documento.

Por ejemplo, si se intenta determinar el recuento de palabras en las siguientes tres líneas de texto

Se trata de x número de palabras.
Se trata de x número de palabras.
Se trata de x número de palabras.
mediante la propiedad palabras como sigue
Sub GetWords()
MsgBox ActiveDocument.Words.Count

End Sub

el resultado es 24 palabras.

Solución alternativa

Para devolver sólo el número de palabras de un documento o un intervalo, excluyendo marcas de párrafo y los signos de puntuación, utilice el método ComputeStatistics en lugar de la propiedad Words .

El método ComputeStatistics devuelve un recuento de palabras que no incluye marcas de párrafo o signos de puntuación. Utilizando el texto de ejemplo de la sección "Causa", el código del método ComputeStatistics siguiente devuelve un recuento de 18 palabras:

Sub GetWords()
MsgBox ActiveDocument.Range.ComputeStatistics(wdStatisticWords)

End Sub

Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:

Macro de recuento de Word 241333 disponible para contar las palabras de una selección

Para obtener más información acerca de cómo obtener ayuda con Visual Basic para Aplicaciones, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

226118 lista de recursos que están disponibles para ayudarle a aprender Visual Basic para Aplicaciones de programación

Propiedades

Id. de artículo: 291447 - Última revisión: 9 ene. 2017 - Revisión: 1

Comentarios