Al escribir en un documento, Drew puede escribir tres guiones y cuando presiona Enter, Word convierte los guiones en una línea de ancho completo. Se pregunta cómo puede hacer esto dentro de una macro.

La característica en Word que da como resultado la conversión de tres guiones en una línea de ancho completo es Autoformato. Es solo una de las cosas que ocurren en segundo plano a medida que escribe: Word analiza continuamente los caracteres que ingresa y las acciones que realiza, y luego lo «ayuda» al realizar la conversión automáticamente. En este caso, solo necesita, en una nueva línea, escribir tres guiones y presionar la tecla Intro. La conversión a una línea de ancho completo se realiza de inmediato.

La forma en que AutoFormat hace esto es realmente un poco interesante. Podría pensar que podría grabar una macro para ver qué hace Autoformato, pero no puede. Cuando enciende la grabadora de macros, escribe tres guiones y presiona Intro, Autoformato no hace absolutamente nada: los guiones permanecen y no aparece ninguna línea.

Por lo tanto, es útil utilizar un método de detective diferente para averiguar qué está pasando. Lo que hice fue abrir un documento nuevo y asegurarme de que se mostraran los caracteres que no se imprimen. (Esto es necesario para que pueda ver dónde están las marcas de párrafo (retornos duros) dentro del documento.) Luego escribí algunos números para poder hacer referencia a los párrafos, pero me aseguré de que hubiera un párrafo «vacío» en el medio. (Ver figura 1)

image

Figura 1. Configuración para la prueba de Autoformato.

El párrafo vacío (entre los párrafos 4 y 5) es donde voy a escribir los tres guiones para probar Autoformato. Cuando los escribo y luego presiono Enter, el resultado es un subrayado en el párrafo 4. (Ver Figura 2.)

image

Figura 2. Un subrayado agregado por Autoformato.

Puede saber que el subrayado está en el párrafo 4 si coloca el punto de inserción en esa línea y muestra el cuadro de diálogo Bordes y sombreado. Cuando muestra el cuadro de diálogo con el punto de inserción en cualquier otra línea, no hay borde; solo está en el párrafo 4.

Luego agregué un párrafo vacío entre los párrafos 7 y 8 para ver qué hace Autoformato cuando escribo tres guiones bajos y presiono Enter. Cuando hice esto, sucedió exactamente lo mismo que se señaló anteriormente. La única diferencia fue que el borde agregado al párrafo 7 tenía un peso más pesado (era más grueso) que el borde agregado al párrafo 4. (Ver Figura 3.)

image

Figura 3. Un subrayado añadido escribiendo tres guiones bajos.

Por lo tanto, escribir tres guiones y tres guiones bajos da como resultado un borde agregado al párrafo anterior (después de que se elimine el párrafo con guiones o guiones bajos), con la única diferencia de que el peso del guión bajo. Además, si observa de cerca el cuadro de diálogo Bordes y sombreado en las instancias anteriores, notará que cuando escribe tres guiones, Autoformato usa un ancho de borde de 0.75 puntos y si escribe tres guiones bajos, usa un ancho de borde de 1.50 puntos.

Replicar este comportamiento en una macro es relativamente fácil. No es necesario agregar tres guiones o guiones bajos y luego eliminarlos y su párrafo; eso sería superfluo. En su lugar, la macro puede simplemente moverse al párrafo anterior y establecer el borde inferior de ese párrafo.

Sub BottomBorder()

Selection.MoveUp Unit:=wdParagraph, Count:=1     With Selection.Borders(wdBorderBottom)

.LineStyle = wdLineStyleSingle         .LineWidth = wdLineWidth075pt         .Color = wdColorAutomatic     End With End Sub

Si desea imitar el comportamiento de Autoformato cuando escribe tres guiones bajos y presiona Enter, todo lo que necesita hacer es cambiar la enumeración wdLineWidth075pt en la macro anterior a wdLineWidth150pt.

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 (13537) se aplica a Microsoft Word 2007, 2010, 2013, 2016, 2019 y Word en Office 365.