Thomas ha un documento di grandi dimensioni che contiene elementi che dovrebbero essere rimossi prima di pubblicare il documento per altri. Le parti del documento che devono essere rimosse sono state selezionate e contrassegnate con un commento in cui si afferma che dovrebbe essere rimosso prima della pubblicazione. Thomas vorrebbe trovare e sostituire rapidamente tutto il testo commentato in questo modo ed eliminarlo.

Usando Trova e sostituisci, tutto ciò che può fare è trovare i commenti. Non ha trovato un modo per capire se il commento è un indicatore che il testo dovrebbe essere eliminato, né ha capito come eliminare il testo del documento effettivo che è stato evidenziato.

Sembra un compito piuttosto complicato, poiché prevede molti passaggi. È necessario trovare un commento, è necessario esaminare il corpo del commento per vedere se corrisponde alla formulazione desiderata, è necessario eliminare il testo commentato nel corpo del documento e quindi è necessario eliminare il commento stesso. Questo è un lavoro per una macro.

Fortunatamente, tutti i commenti in un documento sono accessibili tramite il gruppo Commenti utilizzando VBA. Puoi scorrere ciascuno dei commenti e vedere se contiene il “testo di attivazione” per indicare che il commento (e il testo a cui si riferisce) deve essere eliminato. Nell’esempio seguente, se il testo del commento contiene le parole “elimina questo” ovunque all’interno del commento, questo funge da trigger.

Sub DeleteCommentsBaseText()

Dim c As Comment For Each c In ActiveDocument.Comments     If LCase(Trim(c.Range.Text)) Like "delete this" Then         c.Scope.Delete         c.DeleteRecursively     End If Next c End Sub

Se le parole trigger sono nel commento, la proprietà Scope viene eliminata; è questa proprietà che indica il testo del documento selezionato al momento della creazione del commento. Il metodo DeleteRecursively viene quindi utilizzato per eliminare il commento effettivo. (Il metodo DeleteRecursively è stato aggiunto in Word 2013. Nelle versioni precedenti dovresti invece usare il metodo Delete.)

Tieni presente che quando esegui la macro è molto veloce e le modifiche non possono essere annullate. Se invece desideri un maggiore controllo su quali commenti e testi vengono eliminati, potresti voler ripensare al tuo flusso di lavoro. Se utilizzi Rileva modifiche, chiunque inserisca il commento potrebbe anche contrassegnare il testo del documento per l’eliminazione. Quindi, prima di finalizzare il documento, è possibile disattivare Rileva modifiche ed eseguire ogni modifica per determinare se deve essere accettata o meno. Non è così veloce come la macro sopra, ma ti dà un maggiore controllo.

_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 (2490) si applica a Microsoft Word 2007, 2010, 2013, 2016, 2019 e Word in Office 365.