Condividi tramite


Procedura: formattare il 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 la classe Funzionalità disponibili in base ai tipi di progetto e applicazione.

È possibile utilizzare l'oggetto Range per formattare il testo in un documento Microsoft Office Word.

Nel seguente esempio viene illustrata la selezione del primo paragrafo nel documento e la modifica della dimensione dei caratteri, del tipo di carattere e dell'allineamento. Viene spiegata inoltre la selezione dell'intervallo e la visualizzazione di una finestra di messaggio per effettuare una pausa prima di eseguire la successiva sezione del codice. Nella successiva sezione, viene chiamato per tre volte il metodo Undo dell'elemento host Microsoft.Office.Tools.Word.Document, per una personalizzazione a livello di documento, o la classe Microsoft.Office.Interop.Word.Document, per un componente aggiuntivo a livello di applicazione. Viene applicato lo stile Rientro normale e viene visualizzata una finestra di messaggio per sospendere l'esecuzione del codice. Viene quindi eseguita una chiamata unica al metodo Undo e viene visualizzata una finestra di messaggio.

Nota:

È possibile scrivere una minore quantità di codice di formattazione definendo stili per tutte le esigenze di formattazione. Gli stili garantiscono inoltre una maggiore semplicità di gestione. Se è necessario modificare la formattazione di un documento, è sufficiente eseguire questa operazione in un'unica posizione, ovvero nello stile, anziché eseguire operazioni di ricerca e sostituzione nell'intero codice.

Esempio di personalizzazione a livello di documento

Per formattare un testo utilizzando una personalizzazione a livello di documento

  • L'esempio seguente può essere utilizzato in una personalizzazione a livello di documento. Per utilizzare il codice, è necessario eseguirlo dalla classe ThisDocument nel progetto.

    Private Sub RangeFormat()
    
        ' Set the Range to the first paragraph.
        Dim rng As Word.Range = Me.Paragraphs(1).Range
    
        ' Change the formatting.
        rng.Font.Size = 14
        rng.Font.Name = "Arial"
        rng.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter
    
        rng.Select()
        MessageBox.Show("Formatted Range")
    
        ' Undo the three previous actions.
        Me.Undo(Times:=3)
    
        rng.Select()
        MessageBox.Show("Undo 3 actions")
    
        ' Apply the Normal Indent style.
        rng.Style = "Normal Indent"
    
        rng.Select()
        MessageBox.Show("Normal Indent style applied")
    
        ' Undo a single action.
        Me.Undo()
    
        rng.Select()
        MessageBox.Show("Undo 1 action")
    End Sub
    
    private void RangeFormat() 
    { 
        // Set the Range to the first paragraph. 
        Word.Range rng = this.Paragraphs[1].Range; 
    
        // Change the formatting. 
        rng.Font.Size = 14; 
        rng.Font.Name = "Arial"; 
        rng.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
    
        rng.Select(); 
        MessageBox.Show("Formatted Range"); 
    
        // Undo the three previous actions. 
        object numTimes3 = 3; 
        this.Undo(ref numTimes3); 
    
        rng.Select(); 
        MessageBox.Show("Undo 3 actions"); 
    
        // Apply the Normal Indent style. 
        object indentStyle = "Normal Indent"; 
        rng.set_Style(ref indentStyle); 
    
        rng.Select(); 
        MessageBox.Show("Normal Indent style applied"); 
    
        // Undo a single action. 
        object numTimes1 = 1; 
        this.Undo(ref numTimes1); 
    
        rng.Select(); 
        MessageBox.Show("Undo 1 action"); 
    }
    

Esempio di componente aggiuntivo a livello di applicazione

Per formattare un testo utilizzando un componente aggiuntivo a livello di applicazione

  • L'esempio seguente può essere utilizzato in un componente aggiuntivo a livello di applicazione. In questo esempio viene utilizzato il documento attivo. Per utilizzare il codice, è necessario eseguirlo dalla classe ThisAddIn nel progetto.

    Private Sub RangeFormat()
    
        ' Set the Range to the first paragraph.
        Dim document As Word.Document = Me.Application.ActiveDocument
        Dim rng As Word.Range = document.Paragraphs(1).Range
    
        ' Change the formatting.
        rng.Font.Size = 14
        rng.Font.Name = "Arial"
        rng.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter
    
        rng.Select()
        MessageBox.Show("Formatted Range")
    
        ' Undo the three previous actions.
        document.Undo(Times:=3)
    
        rng.Select()
        MessageBox.Show("Undo 3 actions")
    
        ' Apply the Normal Indent style.
        rng.Style = "Normal Indent"
    
        rng.Select()
        MessageBox.Show("Normal Indent style applied")
    
        ' Undo a single action.
        document.Undo()
    
        rng.Select()
        MessageBox.Show("Undo 1 action")
    End Sub
    
    private void RangeFormat()
    {
        // Set the Range to the first paragraph. 
        Word.Document document = this.Application.ActiveDocument;
        Word.Range rng = document.Paragraphs[1].Range;
    
        // Change the formatting. 
        rng.Font.Size = 14;
        rng.Font.Name = "Arial";
        rng.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
    
        rng.Select();
        MessageBox.Show("Formatted Range");
    
        // Undo the three previous actions. 
        object numTimes3 = 3;
        document.Undo(ref numTimes3);
    
        rng.Select();
        MessageBox.Show("Undo 3 actions");
    
        // Apply the Normal Indent style. 
        object indentStyle = "Normal Indent";
        rng.set_Style(ref indentStyle);
    
        rng.Select();
        MessageBox.Show("Normal Indent style applied");
    
        // Undo a single action. 
        object numTimes1 = 1;
        document.Undo(ref numTimes1);
    
        rng.Select();
        MessageBox.Show("Undo 1 action");
    }
    

Vedere anche

Attività

Procedura: definire e selezionare intervalli nei documenti

Procedura: inserire testo nei documenti di Word

Procedura: cercare testo nei documenti