Recuento de palabras para encabezados y pies de página (Microsoft Word)
Kate necesita generar un recuento de palabras solo para los encabezados y pies de página de un documento, y no sabe cómo hacerlo.
No hay una forma automática de hacerlo, pero puede desarrollar una macro que calcule el recuento. VBA le permite recorrer fácilmente los encabezados en cada sección de su documento, y luego puede determinar cuántas palabras hay en cada encabezado. Un enfoque es utilizar una macro como la siguiente:
Sub CntHeaderWords() Dim s As Section Dim h As HeaderFooter Dim sRaw As String Dim Cnt As Long Dim J As Integer Cnt = 0 For Each s In ActiveDocument.Sections For Each h In s.Headers For J = 1 To h.Range.Words.Count sRaw = h.Range.Words(J) sRaw = Trim(sRaw) If sRaw = vbCrLf Then sRaw = "" If sRaw = vbCr Then sRaw = "" If sRaw = vbLf Then sRaw = "" If Len(sRaw) > 0 Then Cnt = Cnt + 1 Next J Next h Next s MsgBox Cnt & " words in headers" End Sub
Cuando ejecuta esta macro, recorre cada sección del documento y luego cada encabezado de esa sección. El recuento de palabras se determina para cada encabezado y se agrega a la variable Cnt. Cuando la macro está completa, muestra el recuento de palabras para los encabezados del documento.
Hay un par de cosas interesantes a tener en cuenta sobre esta macro.
Primero, dado que puede determinar una propiedad de Recuento para la colección de Palabras para cada encabezado, podría pensar que puede simplemente sumar todos esos recuentos para determinar el recuento general de palabras. El problema es que incluso si no hay encabezado para una sección, Word devuelve un recuento de palabras de 1 para un encabezado «implícito». Es por eso que la macro realmente examina cada palabra en el encabezado, y si no es más que un retorno de carro o un avance de línea, entonces no se incluye en el recuento.
Otro elemento a tener en cuenta es que si tiene algún signo de puntuación en el encabezado, cada signo de puntuación cuenta como una palabra. Por ejemplo, si tiene el encabezado «Todos los derechos reservados», Word considera que son tres palabras. Si el encabezado es «Todos los derechos reservados». (con el punto final), Word considera que son cuatro palabras. El resultado es que si cree que puede haber signos de puntuación en los encabezados, es posible que desee ajustar el código macro para que no cuente la puntuación.
Esta macro solo devuelve un recuento de palabras para los encabezados de un documento. Si desea, en cambio, un recuento de palabras tanto para los encabezados como para los pies de página, puede ajustar la macro de esta manera:
Sub CntHFWords() Dim s As Section Dim h As HeaderFooter Dim f As HeaderFooter Dim sRaw As String Dim HdCnt As Long Dim FtCnt As Long Dim J As Integer HdCnt = 0 FtCnt = 0 For Each s In ActiveDocument.Sections For Each h In s.Headers For J = 1 To h.Range.Words.Count sRaw = h.Range.Words(J) sRaw = Trim(sRaw) If sRaw = vbCrLf Then sRaw = "" If sRaw = vbCr Then sRaw = "" If sRaw = vbLf Then sRaw = "" If Len(sRaw) > 0 Then HdCnt = HdCnt + 1 Next J Next h For Each f In s.Footers For J = 1 To f.Range.Words.Count sRaw = f.Range.Words(J) sRaw = Trim(sRaw) If sRaw = vbCrLf Then sRaw = "" If sRaw = vbCr Then sRaw = "" If sRaw = vbLf Then sRaw = "" If Len(sRaw) > 0 Then FtCnt = FtCnt + 1 Next J Next f Next s sRaw = "Header words: " & HdCnt & vbCrLf sRaw = sRaw & "Footer words: " & FtCnt & vbCrLf sRaw = sRaw & "Total words: " & HdCnt + FtCnt MsgBox sRaw End Sub
Esta versión de la macro aplica exactamente la misma técnica de recuento a cada pie de página que a cada encabezado, mostrando los recuentos individuales y totales al final de la macro.
_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 (10285) se aplica a Microsoft Word 2007, 2010 y 2013.