Udostępnij za pośrednictwem


Programowe zwijanie zakresów lub zaznaczeń w dokumentach

Jeśli pracujesz z obiektem Range lub Selection , możesz zmienić zaznaczenie na punkt wstawiania przed wstawieniem tekstu, aby uniknąć zastępowania istniejącego tekstu. Range Oba obiekty i Selection mają metodę Zwiń, która korzysta z WdCollapseDirection wartości wyliczenia:

Aby zwinąć zakres i wstawić nowy tekst

  1. Range Utwórz obiekt składający się z pierwszego akapitu w dokumencie.

    Poniższy przykład kodu może być używany w dostosowywaniu na poziomie dokumentu.

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

    Poniższy przykład kodu może być używany w dodatku VSTO. Ten kod używa aktywnego dokumentu.

    Word.Range rng = this.Application.ActiveDocument.Paragraphs[1].Range;
    
  2. wdCollapseStart Użyj wartości wyliczenia, aby zwinąć zakres.

    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart);
    
  3. Wstaw nowy tekst.

    rng.Text = " New Text ";
    
  4. Wybierz aplikację Range.

    rng.Select();
    

    Jeśli używasz wdCollapseEnd wartości wyliczenia, tekst zostanie wstawiony na początku poniższego akapitu.

    rng.Collapse(Word.WdCollapseDirection.wdCollapseEnd);
    

Można oczekiwać, że wstawianie nowego zdania spowoduje wstawienie go przed znacznikiem akapitu, ale tak nie jest, ponieważ oryginalny zakres zawiera znacznik akapitu.

Przykład dostosowywania na poziomie dokumentu

Aby zwinąć zakres w dostosowywaniu na poziomie dokumentu

  1. W poniższym przykładzie przedstawiono pełną metodę dostosowywania na poziomie dokumentu. Aby użyć tego kodu, uruchom go z ThisDocument klasy w projekcie.

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

Przykład dodatku VSTO

Aby zwinąć zakres w dodatku VSTO

  1. W poniższym przykładzie przedstawiono kompletną metodę dodatku VSTO. Aby użyć tego kodu, uruchom go z ThisAddIn klasy w projekcie.

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