C#互操作世界:采用多行文字的样式
我正在尝试使用C#和Microsoft.Office.Interop.Word对world文档中的某些文本应用样式 我需要设置样式的文本需要很多行,我使用的代码如下:;它适用于一行中的文本C#互操作世界:采用多行文字的样式,c#,ms-word,styles,range,interop,C#,Ms Word,Styles,Range,Interop,我正在尝试使用C#和Microsoft.Office.Interop.Word对world文档中的某些文本应用样式 我需要设置样式的文本需要很多行,我使用的代码如下:;它适用于一行中的文本 string text = @"Hello World how are you?"; Microsoft.Office.Interop.Word.Paragraph para = document.Content.Paragraphs.Add(ref missing)
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();
这里的结果是,文本被正确地插入到两行中,但它不会设置整个文本的样式,而是将文本逐行设置为一段接一段的样式
我尝试了以下方法
para.Range.Text = text;
para.Range.InsertParagraphAfter();
Word.Range rng = para.Range;
rng.set_Style(Word.WdBuiltinStyle.wdStyleListParagraph);
但它也不起作用
如何正确设置整个文本的样式
它适用于一行中的文本
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();
你的意思是说它适合一个段落。
如果要添加由多个段落组成的文本并设置其样式,请改为使用范围:
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);
非常感谢你!它工作得很好。我刚刚通过删除第一行修改了您的代码,因为它具有添加空段落的效果。