Si trabaja mucho con documentos de otras personas, es posible que tenga que eliminar cuadros de texto en esos documentos. Si solo hay uno o dos cuadros de texto en el documento, no es tan difícil seleccionarlos y eliminarlos. Sin embargo, ¿qué pasa si hay 30, 40 o más cuadros de texto?

Eliminarlos individualmente puede volverse tedioso rápidamente.

Una posible solución es un método de «fuerza bruta». Siga estos pasos:

  1. En su documento, presione Ctrl + A. Se selecciona todo el documento.

  2. Presione Ctrl + C. El documento está ahora en el Portapapeles.

  3. Abra un documento nuevo en blanco.

  4. Elija Pegado especial en el menú Editar. Word muestra el cuadro de diálogo Pegado especial. (Ver figura 1)

  5. En la lista de formatos, elija Texto sin formato.

  6. Haga clic en Aceptar.

El texto del documento, menos los cuadros de texto, está ahora en el nuevo documento. El inconveniente obvio de este enfoque es que también se pierde el otro formato del documento original y debe volver a formatear el documento completo. (Te dije que esto era un método de fuerza bruta.)

Si solo desea deshacerse de los cuadros de texto, la solución más rápida es usar una macro. La siguiente macro eliminará rápidamente todos los cuadros de texto de su documento:

Sub RemoveTextBox1()

Dim shp As Shape     For Each shp In ActiveDocument.Shapes         If shp.Type = msoTextBox Then shp.Delete     Next shp End Sub

Debe darse cuenta de que esta macro elimina todos los cuadros de texto y su contenido. En otras palabras, si se utiliza un cuadro de texto para colocar texto, el texto de ese cuadro de texto se elimina junto con el cuadro de texto en sí.

Si prefiere transferir el texto de los cuadros de texto al documento, antes de eliminar el cuadro de texto, funcionará una pequeña modificación en la macro anterior:

Sub RemoveTextBox2()

Dim shp As Shape     Dim oRngAnchor As Range     Dim sString As String

For Each shp In ActiveDocument.Shapes         If shp.Type = msoTextBox Then             ' copy text to string, without last paragraph mark             sString = Left(shp.TextFrame.TextRange.Text, _               shp.TextFrame.TextRange.Characters.Count - 1)

If Len(sString) > 0 Then                 ' set the range to insert the text                 Set oRngAnchor = shp.Anchor.Paragraphs(1).Range                 ' insert the textbox text before the range object                 oRngAnchor.InsertBefore _                   "Textbox start << " & sString & " >> Textbox end"

End If             shp.delete         End If     Next shp End Sub

Cuando termine esta macro, puede hacer una búsqueda de «Inicio de cuadro de texto» y estará al principio del texto que solía estar en los cuadros de texto que ahora desaparecieron de su documento. A continuación, puede editar el texto para que aparezca como desee.

_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 (1690) 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-Removing_All_Text_Boxes_In_a_Document [Eliminando todos los cuadros de texto en un documento].