Lee ha una macro che confronta, paragrafo per paragrafo, due documenti. Ha bisogno di un modo per scartare l’uso di virgolette intelligenti all’interno di un paragrafo. In altre parole, se due paragrafi sono simili in ogni modo, tranne uno che usa virgolette intelligenti e l’altro no, Lee vuole comunque considerare i paragrafi equivalenti.

Il modo più semplice per gestire questa situazione è sostituire semplicemente eventuali virgolette intelligenti con virgolette regolari, quindi eseguire il confronto. Ad esempio, supponendo che la tua macro passi attraverso il documento e assegni il testo di un paragrafo a una variabile (come sThisPar), puoi eliminare le virgolette intelligenti nel testo usando questo codice:

sThisPar = RepText(sThisPar, Chr(145), "'")

sThisPar = RepText(sThisPar, Chr(146), "'")

sThisPar = RepText(sThisPar, Chr(147), Chr(34))

sThisPar = RepText(sThisPar, Chr(148), Chr(34))

Queste righe sostituiscono le versioni intelligenti delle virgolette di apertura e di chiusura e degli apostrofi con i loro equivalenti “semplici”. Questo codice si basa su una funzione chiamata RepText, che non viene mostrata in questo suggerimento. La routine non fa altro che sostituire l’occorrenza di una parte di testo con un’altra. In alcune versioni di VBA è possibile utilizzare invece il comando Sostituisci, integrato in quelle versioni della lingua.

Già che ci sei, potresti anche voler sostituire altri caratteri specifici di Word con i loro equivalenti semplici. Le righe seguenti sostituiscono rispettivamente i trattini en, i trattini em e i puntini di sospensione.

sThisPar = RepText(sThisPar, Chr(150), "-")

sThisPar = RepText(sThisPar, Chr(151), "--")

sThisPar = RepText(sThisPar, Chr(133), "...")

Una volta effettuate le sostituzioni, puoi confrontare il testo nei paragrafi con molta più sicurezza.

Se non è possibile modificare il codice della macro per qualche motivo, è possibile sostituire semplicemente le virgolette intelligenti nei documenti con virgolette regolari prima di eseguire la macro. Apri il documento, disattiva le virgolette automatiche (nella finestra di dialogo Correzione automatica), quindi esegui due operazioni di ricerca e sostituzione per, innanzitutto, sostituire ciascuna citazione con una citazione (inserisci la citazione in entrambe le caselle Trova e Sostituisci con) e , secondo, sostituire ogni apostrofo con un apostrofo. È quindi possibile eseguire le macro e il confronto dovrebbe essere più fluido.

_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 (5411) si applica a Microsoft Word 97, 2000, 2002 e 2003. È possibile trovare una versione di questo suggerimento per l’interfaccia a nastro di Word (Word 2007 e più tardi) qui: