Limpiar texto en una macro (Microsoft Word)
Ha habido muchas macros que he escrito con el propósito expreso de «limpiar» el texto antes de hacer otra cosa con él. Por ejemplo, insertarlo en un nuevo documento o guardarlo en un archivo de texto.
A menudo, este proceso es tedioso, implica examinar cada carácter en una cadena de texto y luego tomar una decisión sobre qué hacer con él si el carácter no está dentro de un rango de caracteres aceptables.
VBA incluye un método interesante que puede usarse para ayudar a limpiar el texto. Se llama, apropiadamente, el método CleanString. Lo usa como se muestra aquí:
sCleanedUp = Application.CleanString(Selection.Text)
Esta instancia establece la cadena sCleanedUp igual a una versión «limpiada» del texto seleccionado. ¿Qué hace exactamente el método CleanString? Elimina los caracteres que no se imprimen en el rango ANSI de 1 a 29, con la excepción de 7, 9, 10 y 13. En el caso del carácter ANSI 7, se elimina a menos que esté precedido por el carácter 13, en cuyo caso se reemplaza con una pestaña (ANSI 9). En el caso del carácter 10 de ANSI, se reemplaza por el carácter 13 a menos que esté precedido por el carácter 13, en cuyo caso se elimina. Los caracteres 9 y 13 no se cambian.
Varios otros caracteres fuera del rango de 1 a 29 también se ven afectados por el método CleanString. El carácter ANSI 31 (el guión opcional), el carácter 172 (también un guión opcional) y el carácter 182 (el carácter de marca de párrafo) se eliminan. El carácter ANSI 160 (el espacio que no se separa), el carácter 176 (otro espacio que no se separa) y el carácter 183 (un carácter de viñeta) se reemplazan por espacios. Todos los demás personajes no se modifican.
_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 (1460) se aplica a Microsoft Word 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Word (Word 2007 y más tarde) aquí:
link: / wordribbon-Cleaning_Up_Text_in_a_Macro [Limpiar texto en una macro]
.