Sdílet prostřednictvím


Postupy: Vyloučení značek odstavů při vytváření oblastí prostřednictvím kódu programu

Kdykoli vytvořit Range objekt založený na odstavce, netisknutelné znaky, například značky odstavce jsou zahrnuty v rozsahu.Chcete vložit text z odstavce zdrojového do cílového odstavce.Pokud nechcete rozdělit na samostatné odstavce cílového odstavce, pak odstraňte značku odstavce z odstavce zdroje.Navíc protože informace o formátování odstavce je uložen do konce odstavce, nemusí chcete zahrnout tato oblast po vložení do existujícího odstavce.

Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu i na úrovni aplikace ve Wordu 2013 a ve Wordu 2010. Další informace najdete v tématu Dostupné funkce podle aplikací systému Office a typů projektu.

Postup následující příklad deklaruje dvě proměnné řetězce, načte obsah prvního a druhého odstavce v aktivním dokumentu a potom výměny jejich obsah.Příklad poté demonstruje odebrání rozsahu značku odstavce pomocí MoveEnd metoda a vkládání textu uvnitř odstavce.

K odstavci struktury při vkládání textu

  1. Vytvořit dvě proměnné rozsahu pro první a druhý odstavec a získat jejich obsahu pomocí Text vlastnost.

    Následující příklad kódu lze v dokumentu úroveň přizpůsobení.

    Dim firstRange As Word.Range = Me.Paragraphs(1).Range
    Dim secondRange As Word.Range = Me.Paragraphs(2).Range
    
    Dim firstString As String = firstRange.Text
    Dim secondString As String = secondRange.Text
    
    Word.Range firstRange = this.Paragraphs[1].Range; 
    Word.Range secondRange = this.Paragraphs[2].Range; 
    
    string firstString = firstRange.Text; 
    string secondString = secondRange.Text; 
    

    Následující příklad kódu lze použít v doplňku úrovni aplikace.Tento kód používá aktivní dokument.

    Dim document As Word.Document = Me.Application.ActiveDocument
    Dim firstRange As Word.Range = document.Paragraphs(1).Range
    Dim secondRange As Word.Range = document.Paragraphs(2).Range
    
    Dim firstString As String = firstRange.Text
    Dim secondString As String = secondRange.Text
    
    Word.Document document = this.Application.ActiveDocument;
    Word.Range firstRange = document.Paragraphs[1].Range;
    Word.Range secondRange = document.Paragraphs[2].Range;
    
    string firstString = firstRange.Text;
    string secondString = secondRange.Text;
    
  2. Přiřadit Text vlastnost záměna textu mezi dva odstavce.

    firstRange.Text = secondString
    secondRange.Text = firstString
    
    firstRange.Text = secondString; 
    secondRange.Text = firstString; 
    
  3. Vyberte postupně každý rozsah a pozastavit zobrazit výsledky v okně se zprávou.

    firstRange.Select()
    MessageBox.Show(firstRange.Text)
    secondRange.Select()
    MessageBox.Show(secondRange.Text)
    
    firstRange.Select(); 
    MessageBox.Show(firstRange.Text); 
    secondRange.Select(); 
    MessageBox.Show(secondRange.Text); 
    
  4. Upravit firstRange použití MoveEnd metoda tak, aby značka odstavce je již součástí firstRange.

    firstRange.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=-1)
    
    object charUnit = Word.WdUnits.wdCharacter;
    object move = -1;  // move left 1
    
    firstRange.MoveEnd(ref charUnit, ref move);
    
  5. Nahradit zbývající text v prvním odstavci, přiřazení nové řetězce Text vlastnost rozsahu.

    firstRange.Text = "New content for paragraph 1."
    
    firstRange.Text = "New content for paragraph 1.";
    
  6. Nahradit text v secondRange, včetně znaku konce odstavce.

    secondRange.Text = "New content for paragraph 2."
    
    secondRange.Text = "New content for paragraph 2.";
    
  7. Vyberte firstRange a pozastavit zobrazit výsledky v okně se zprávou a provést totéž s secondRange.

    Od firstRange byla předefinována vyloučit značku odstavce, je zachováno původní formátování odstavce.Však byla vložena věta přes konce odstavce v secondRange, odebrání samostatný odstavec.

    firstRange.Select()
    MessageBox.Show(firstRange.Text)
    secondRange.Select()
    MessageBox.Show(secondRange.Text)
    
    firstRange.Select(); 
    MessageBox.Show(firstRange.Text); 
    secondRange.Select(); 
    MessageBox.Show(secondRange.Text); 
    

    Původní obsah obou oblastí byly uloženy jako řetězce, takže můžete dokument obnovit do původního stavu.

  8. Nastavit firstRange pomocí zahrnout značky odstavce MoveEnd metoda pro jeden znak na pozici.

    firstRange.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=1)
    
    move = 1;  // move right 1
    firstRange.MoveEnd(ref charUnit, ref move); 
    
  9. Delete secondRange.Tři odstavce obnovíte do původní polohy.

    secondRange.Delete()
    
    secondRange.Delete(ref missing, ref missing); 
    
  10. Obnovit původní text v odstavci firstRange.

    firstRange.Text = firstString
    
    firstRange.Text = firstString; 
    
  11. Použití InsertAfter metoda Range objekt vložit původní obsah dva odstavce po firstRangea potom vyberte firstRange.

    firstRange.InsertAfter(secondString)
    firstRange.Select()
    
    firstRange.InsertAfter(secondString); 
    firstRange.Select(); 
    

Příklad vlastního nastavení úrovně dokumentu

Při vkládání textu v dokumentu úroveň vlastního nastavení řízení struktury odstavce

  • Následující příklad ukazuje kompletní metoda pro přizpůsobení úroveň dokument.Použít tento kód, spusťte jej z ThisDocument tříd v projektu.

    Private Sub ReplaceParagraphText()
    
        Dim firstRange As Word.Range = Me.Paragraphs(1).Range
        Dim secondRange As Word.Range = Me.Paragraphs(2).Range
    
        Dim firstString As String = firstRange.Text
        Dim secondString As String = secondRange.Text
    
        firstRange.Text = secondString
        secondRange.Text = firstString
    
        firstRange.Select()
        MessageBox.Show(firstRange.Text)
        secondRange.Select()
        MessageBox.Show(secondRange.Text)
    
        firstRange.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=-1)
    
        firstRange.Text = "New content for paragraph 1."
        secondRange.Text = "New content for paragraph 2."
    
        firstRange.Select()
        MessageBox.Show(firstRange.Text)
        secondRange.Select()
        MessageBox.Show(secondRange.Text)
    
        firstRange.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=1)
    
        secondRange.Delete()
    
        firstRange.Text = firstString
    
        firstRange.InsertAfter(secondString)
        firstRange.Select()
    End Sub
    
    private void ReplaceParagraphText() 
    { 
        Word.Range firstRange = this.Paragraphs[1].Range; 
        Word.Range secondRange = this.Paragraphs[2].Range; 
    
        string firstString = firstRange.Text; 
        string secondString = secondRange.Text; 
    
        firstRange.Text = secondString; 
        secondRange.Text = firstString; 
    
        firstRange.Select(); 
        MessageBox.Show(firstRange.Text); 
        secondRange.Select(); 
        MessageBox.Show(secondRange.Text); 
    
        object charUnit = Word.WdUnits.wdCharacter;
        object move = -1;  // move left 1
    
        firstRange.MoveEnd(ref charUnit, ref move);
    
        firstRange.Text = "New content for paragraph 1.";
        secondRange.Text = "New content for paragraph 2.";
    
        firstRange.Select(); 
        MessageBox.Show(firstRange.Text); 
        secondRange.Select(); 
        MessageBox.Show(secondRange.Text); 
    
        move = 1;  // move right 1
        firstRange.MoveEnd(ref charUnit, ref move); 
    
        secondRange.Delete(ref missing, ref missing); 
    
        firstRange.Text = firstString; 
    
        firstRange.InsertAfter(secondString); 
        firstRange.Select(); 
    }
    

Úroveň aplikace například doplněk

Při vkládání textu do doplněk aplikační úrovni řízení struktury odstavce

  • Následující příklad ukazuje kompletní metoda pro doplněk aplikační úrovni.Použít tento kód, spusťte jej z ThisAddIn tříd v projektu.

    Private Sub ReplaceParagraphText()
    
        Dim document As Word.Document = Me.Application.ActiveDocument
        Dim firstRange As Word.Range = document.Paragraphs(1).Range
        Dim secondRange As Word.Range = document.Paragraphs(2).Range
    
        Dim firstString As String = firstRange.Text
        Dim secondString As String = secondRange.Text
    
        firstRange.Text = secondString
        secondRange.Text = firstString
    
        firstRange.Select()
        MessageBox.Show(firstRange.Text)
        secondRange.Select()
        MessageBox.Show(secondRange.Text)
    
        firstRange.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=-1)
    
        firstRange.Text = "New content for paragraph 1."
        secondRange.Text = "New content for paragraph 2."
    
        firstRange.Select()
        MessageBox.Show(firstRange.Text)
        secondRange.Select()
        MessageBox.Show(secondRange.Text)
    
        firstRange.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=1)
    
        secondRange.Delete()
    
        firstRange.Text = firstString
    
        firstRange.InsertAfter(secondString)
        firstRange.Select()
    End Sub
    
    private void ReplaceParagraphText()
    {
        Word.Document document = this.Application.ActiveDocument;
        Word.Range firstRange = document.Paragraphs[1].Range;
        Word.Range secondRange = document.Paragraphs[2].Range;
    
        string firstString = firstRange.Text;
        string secondString = secondRange.Text;
    
        firstRange.Text = secondString;
        secondRange.Text = firstString;
    
        firstRange.Select();
        MessageBox.Show(firstRange.Text);
        secondRange.Select();
        MessageBox.Show(secondRange.Text);
    
        object charUnit = Word.WdUnits.wdCharacter;
        object move = -1;  // move left 1
    
        firstRange.MoveEnd(ref charUnit, ref move);
    
        firstRange.Text = "New content for paragraph 1.";
        secondRange.Text = "New content for paragraph 2.";
    
        firstRange.Select();
        MessageBox.Show(firstRange.Text);
        secondRange.Select();
        MessageBox.Show(secondRange.Text);
    
        move = 1;  // move right 1
        firstRange.MoveEnd(ref charUnit, ref move);
    
        secondRange.Delete(ref missing, ref missing);
    
        firstRange.Text = firstString;
    
        firstRange.InsertAfter(secondString);
        firstRange.Select();
    }
    

Viz také

Úkoly

Postupy: Rozšiřování oblastí v dokumentech prostřednictvím kódu programu

Postupy: Sbalování oblastí nebo výběrů v dokumentech prostřednictvím kódu programu

Postupy: Vkládání textu do dokumentů aplikace Word prostřednictvím kódu programu

Postupy: Resetování oblastí v dokumentech aplikace Word prostřednictvím kódu programu

Postupy: Definování a výběr oblastí v dokumentech prostřednictvím kódu programu

Koncepty

Volitelné parametry v řešeních pro systém Office