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 v aplikacích Word 2013 a Word 2010. Další informace naleznete v tématu Funkce aplikace 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
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;
Přiřadit Text vlastnost záměna textu mezi dva odstavce.
firstRange.Text = secondString secondRange.Text = firstString
firstRange.Text = secondString; secondRange.Text = firstString;
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);
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);
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.";
Nahradit text v secondRange, včetně znaku konce odstavce.
secondRange.Text = "New content for paragraph 2."
secondRange.Text = "New content for paragraph 2.";
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.
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);
Delete secondRange.Tři odstavce obnovíte do původní polohy.
secondRange.Delete()
secondRange.Delete(ref missing, ref missing);
Obnovit původní text v odstavci firstRange.
firstRange.Text = firstString
firstRange.Text = firstString;
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