Udostępnij za pośrednictwem


Programowe formatowanie tekstu w dokumentach

Za pomocą Range obiektu można sformatować tekst w dokumencie programu Microsoft Office Word.

Dotyczy: informacje w tym temacie dotyczą projektów na poziomie dokumentu i projektów dodatków VSTO dla programu Word. Aby uzyskać więcej informacji, zobacz Funkcje dostępne przez aplikacja pakietu Office lication i typ projektu.

Poniższy przykład wybiera pierwszy akapit w dokumencie i zmienia rozmiar czcionki, nazwę czcionki i wyrównanie. Następnie wybiera zakres i wyświetla pole komunikatu do wstrzymania przed wykonaniem następnej sekcji kodu. Następna sekcja wywołuje metodę Document Cofnij elementu hosta (na potrzeby dostosowywania na poziomie dokumentu) lub Document klasę (dla dodatku VSTO) trzy razy. Stosuje styl wcięcia normalnego i wyświetla okno komunikatu w celu wstrzymania kodu. Następnie kod wywołuje metodę Undo raz i wyświetla okno komunikatu.

Przykład dostosowywania na poziomie dokumentu

Aby sformatować tekst przy użyciu dostosowywania na poziomie dokumentu

  1. Poniższy przykład może być używany w dostosowywaniu na poziomie dokumentu. Aby użyć tego kodu, uruchom go z ThisDocument klasy w projekcie.

    private void RangeFormat() 
    { 
        // Set the Range to the first paragraph. 
        Word.Range rng = this.Paragraphs[1].Range;
    
        // Change the formatting. To change the font size for a right-to-left language, 
        // such as Arabic or Hebrew, use the Font.SizeBi property instead of Font.Size.
        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"); 
    }
    

Przykład dodatku VSTO

Aby sformatować tekst przy użyciu dodatku VSTO

  1. Poniższy przykład może być używany w dodatku VSTO. W tym przykładzie użyto aktywnego dokumentu. Aby użyć tego kodu, uruchom go z ThisAddIn klasy w projekcie.

    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. To change the font size for a right-to-left language, 
        // such as Arabic or Hebrew, use the Font.SizeBi property instead of Font.Size.
        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");
    }