Procedura: cercare e sostituire testo nei documenti

Aggiornamento: novembre 2007

Si applica a

Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati.

Tipo di progetto

  • Progetti a livello di documento

  • Progetti a livello di applicazione

Versione Microsoft Office

  • Word 2003

  • Word 2007

Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazione.

Utilizzare un oggetto Find per scorrere un documento di Microsoft Office Word allo scopo di ricercare elementi di testo, formattazione o stile specifici e utilizzare la proprietà Replacement per sostituire tutti gli elementi trovati.

Nel codice seguente viene eseguita una ricerca nella selezione corrente e vengono sostituite tutte le occorrenze della stringa find me con la stringa Found. Per utilizzare questo esempio di codice, eseguirlo dalla classe ThisDocument o ThisAddIn del progetto.

Esempio

Private Sub SearchReplace()
    Dim FindObject As Word.Find = Application.Selection.Find
    With FindObject
        .ClearFormatting()
        .Text = "find me"
        .Replacement.ClearFormatting()
        .Replacement.Text = "Found"
        .Execute(Replace:=Word.WdReplace.wdReplaceAll)
    End With
End Sub
private void SearchReplace()
{
    Word.Find findObject = Application.Selection.Find;
    findObject.ClearFormatting();
    findObject.Text = "find me";
    findObject.Replacement.ClearFormatting();
    findObject.Replacement.Text = "Found";

    object replaceAll = Word.WdReplace.wdReplaceAll;
    findObject.Execute(ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref replaceAll, ref missing, ref missing, ref missing, ref missing);
}

Compilazione del codice

La classe Find dispone di un metodo ClearFormatting. Anche la classe Replacement dispone di un proprio metodo ClearFormatting. Quando si eseguono operazioni di ricerca e sostituzione, è necessario utilizzare il metodo ClearFormatting di entrambi gli oggetti. Se si utilizza questo metodo solo nell'oggetto Find, la sostituzione del testo può produrre risultati imprevisti.

Utilizzare il metodo Execute dell'oggetto Find per sostituire ogni elemento trovato. Per specificare quali elementi sostituire, utilizzare il parametro Replace. Per il parametro è possibile specificare uno dei valori WdReplace seguenti:

Vedere anche

Attività

Procedura: cercare testo nei documenti

Procedura: impostare le opzioni di ricerca in Word

Procedura: scorrere in ciclo gli elementi trovati nei documenti

Procedura: recuperare le selezioni dopo le ricerche

Concetti

Informazioni sui parametri facoltativi nelle soluzioni Office