C#Word互操作格式段落行距仅影响最后一行

C#Word互操作格式段落行距仅影响最后一行,c#,ms-word,interop,C#,Ms Word,Interop,我有下面的代码,它创建了一个带有一些格式的段落,并将其添加到文档的末尾。粗体、名称、斜体和大小的字体格式应用于整个段落,但是lineunitafter、lineunitbefore和linespacingrule仅适用于我的段落的最后一行,而不适用于前面的行 这对我来说毫无意义,我错过了什么吗 Word.Paragraph oParaMacroName; oParaMacroName = doc.Content.Paragraphs.Add(ref missing); oParaMacroNam

我有下面的代码,它创建了一个带有一些格式的段落,并将其添加到文档的末尾。粗体、名称、斜体和大小的字体格式应用于整个段落,但是lineunitafter、lineunitbefore和linespacingrule仅适用于我的段落的最后一行,而不适用于前面的行

这对我来说毫无意义,我错过了什么吗

Word.Paragraph oParaMacroName;
oParaMacroName = doc.Content.Paragraphs.Add(ref missing);
oParaMacroName.Range.Font.Bold = 1;
oParaMacroName.Range.Font.Name = "Courier New";
oParaMacroName.Range.Font.Italic = 1;
oParaMacroName.Range.Font.Size = 10;
oParaMacroName.Range.Text = macro.Definition;
oParaMacroName.Range.ParagraphFormat.LineUnitAfter = 0.1F;
oParaMacroName.Range.ParagraphFormat.LineUnitBefore = 0.1F;
oParaMacroName.Range.ParagraphFormat.LineSpacingRule = Word.WdLineSpacing.wdLineSpaceSingle;
oParaMacroName.Range.InsertParagraphAfter();

我建议放弃互操作,直接使用开放式XML SDK,它允许您直接编辑文档,而无需加载wordHi Mike,这看起来是一个非常好的库,但目前我需要解决互操作中的当前问题。互操作如果是旧office 2000套件中的遗留系统,它仍然包含的唯一原因是为了向后兼容,该库是Microsoft开发的开放XML SDK的开源分支。你正在尝试使用一种已经过时15年的技术,我会在未来的项目中研究它,但这一项我无法改变。我看不出有什么不同,但是
LineUnitAfter
LineUnitBefore
不是非亚洲文本的典型属性。在非亚洲用户界面中,该设置显示在
SpaceAfter
SpaceBefore
中,如果字体不在网格中,则应使用该设置。请注意语言参考中的信息:“返回或设置指定段落后的间距量(以网格线为单位)”,并且请注意,此设置将应用于单个行,具体取决于Word对这些行的解释方式,而不是整个段落。您希望通过这些命令实现什么?