Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#互操作世界:采用多行文字的样式_C#_Ms Word_Styles_Range_Interop - Fatal编程技术网

C#互操作世界:采用多行文字的样式

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)

我正在尝试使用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);
 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);

非常感谢你!它工作得很好。我刚刚通过删除第一行修改了您的代码,因为它具有添加空段落的效果。