Se lavori molto con documenti di altre persone, potresti dover rimuovere le caselle di testo in quei documenti. Se ci sono solo una o due caselle di testo nel documento, non è così difficile selezionarle ed eliminarle. E se ci sono 30, 40 o più caselle di testo, però?

Eliminarli singolarmente può diventare rapidamente noioso.

Una possibile soluzione è un metodo “forza bruta”. Segui questi passaggi:

  1. Nel tuo documento, premi Ctrl + A. Viene selezionato l’intero documento.

  2. Premi Ctrl + C. Il documento è ora negli Appunti.

  3. Apri un nuovo documento vuoto.

  4. Scegli Incolla speciale dal menu Modifica. Word visualizza la finestra di dialogo Incolla speciale. (Vedi figura 1.)

  5. Nell’elenco dei formati, scegli Testo non formattato.

  6. Fare clic su OK.

Il testo del documento, meno le caselle di testo, è ora nel nuovo documento. L’ovvio svantaggio di questo approccio è che anche l’altra formattazione del documento originale viene persa ed è necessario riformattare l’intero documento. (Te l’avevo detto che era un metodo di forza bruta.)

Se vuoi eliminare solo le caselle di testo, la soluzione più rapida è usare una macro. La seguente macro rimuoverà rapidamente tutte le caselle di testo nel documento:

Sub RemoveTextBox1()

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

Dovresti renderti conto che questa macro rimuove tutte le caselle di testo e il loro contenuto. In altre parole, se una casella di testo viene utilizzata per il posizionamento del testo, il testo in quella casella di testo viene eliminato insieme alla casella di testo stessa.

Se si preferisce trasferire il testo dalle caselle di testo al documento, prima di eliminare la casella di testo, allora una leggera modifica sulla macro sopra funzionerà:

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

Quando questa macro è terminata, puoi fare una ricerca per “Inizio casella di testo” e sarai all’inizio del testo che era nelle caselle di testo che ora sono sparite dal tuo documento. È quindi possibile modificare il testo in modo che appaia come si desidera.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (1690) si applica a Microsoft Word 97, 2000, 2002 e 2003. È possibile trovare una versione di questo suggerimento per l’interfaccia della barra multifunzione di Word (Word 2007 e più tardi) qui: