2017-03-23 8 views
0

C#とMicrosoft.Office.Interop.Wordを使用して、ワールドドキュメント内のテキストにスタイルを適用しようとしています。C#Interop World:多くの行を含むスタイルのテキスト

私がスタイルを設定する必要があるテキストは、多くの行をとり、使用したコードは次のとおりです。 1行のテキストに対して適切に動作します。

string text = @"Hello World 
       how are you?"; 

Microsoft.Office.Interop.Word.Paragraph para = document.Content.Paragraphs.Add(ref missing); 
para.Range.Text = text; 
para.set_Style(Word.WdBuiltinStyle.wdStyleListParagraph); 
para.Range.InsertParagraphAfter(); 

ここでの結果は、テキストが2行に正しく挿入されていることですが、それは別のものの後の段落としてテキスト全体、そのスタイルにラインによってテキスト行のスタイルを設定しません。

私は、次の

para.Range.Text = text; 
    para.Range.InsertParagraphAfter(); 
    Word.Range rng = para.Range; 
    rng.set_Style(Word.WdBuiltinStyle.wdStyleListParagraph); 

と試みたが、それはどちらか動作しません。

テキスト全体を正しくスタイルするにはどうすればよいですか?

答えて

0

テキストは1行で正しく動作します。

段落の場合、正常に動作します。 追加し、スタイル設定したい場合は、いくつかのの段落で構成されたテキストではなく範囲を使用します。

document.Content.Paragraphs.Add(ref missing); 
string text = @"Hello World 
how are you? 
"; 

Microsoft.Office.Interop.Word.Range para = document.Range(docx.Content.End - 1, document.Content.End - 1); 
para.Text = text; 
para.set_Style(Word.WdBuiltinStyle.wdStyleListParagraph); 
+0

はどうもありがとうございました!それはとてもうまくいく。私は空の段落を追加する効果があるので、最初の行を削除してコードを修正しました。 – vinx

関連する問題