Condividi tramite


Comprimere a livello di codice intervalli o selezioni nei documenti

Se si usa un oggetto Range o Selection , è possibile che si voglia modificare la selezione in un punto di inserimento prima di inserire il testo, per evitare la sovrascrittura del testo esistente. Entrambi gli Range oggetti e Selection hanno un metodo Collapse, che usa i WdCollapseDirection valori di enumerazione:

  • wdCollapseStart comprime la selezione nella parte iniziale. Rappresenta il valore predefinito se non viene specificato un valore di enumerazione.

  • wdCollapseEnd comprime la selezione nella parte finale.

    Si applica a: le informazioni contenute in questo argomento si applicano ai progetti a livello di documento e ai progetti di componente aggiuntivo VSTO per Word. Per altre informazioni, vedere Funzionalità disponibili per app Office lication e tipo di progetto.

Per comprimere un intervallo e inserire nuovo testo

  1. Creare un oggetto Range costituito dal primo paragrafo del documento.

    L'esempio di codice seguente può essere usato in una personalizzazione a livello di documento.

    Word.Range rng = this.Paragraphs[1].Range;
    

    L'esempio di codice seguente può essere usato in un componente aggiuntivo VSTO. Questo codice usa il documento attivo.

    Word.Range rng = this.Application.ActiveDocument.Paragraphs[1].Range;
    
  2. Usare il valore di enumerazione wdCollapseStart per comprimere l'intervallo.

    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart);
    
  3. Inserire il nuovo testo.

    rng.Text = " New Text ";
    
  4. Selezionare il Range.

    rng.Select();
    

    Se si usa il valore di enumerazione wdCollapseEnd , il testo viene inserito all'inizio del paragrafo seguente.

    rng.Collapse(Word.WdCollapseDirection.wdCollapseEnd);
    

Contrariamente a quanto potrebbe prevedersi, la nuova frase non viene inserita prima del marcatore di paragrafo perché è incluso nell'intervallo originale.

Esempio di personalizzazione a livello di documento

Per comprimere un intervallo in una personalizzazione a livello di documento

  1. L'esempio seguente illustra il metodo completo per una personalizzazione a livello di documento. Per usare questo codice, eseguirlo dalla classe ThisDocument nel progetto.

    Word.Range rng = this.Paragraphs[1].Range; 
    
    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart); 
    
    rng.Text = " New Text ";
    rng.Select();
    

Esempio di componente aggiuntivo VSTO

Per comprimere un intervallo in un componente aggiuntivo VSTO

  1. Nell'esempio seguente viene illustrato il metodo completo per un componente aggiuntivo VSTO. Per usare questo codice, eseguirlo dalla classe ThisAddIn nel progetto.

    Word.Range rng = this.Application.ActiveDocument.Paragraphs[1].Range;
    
    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart);
    
    rng.Text = " New Text ";
    rng.Select();