cam*_*elt 3 c# ms-word spacing
我在Word 2007中设置行间距时遇到问题.Word 2007默认为双倍间距或行之间有额外的空格.以前,我总是使用类似的东西成功(在C#中):
//No spacing when using Word version > 2003
//Word 2003 = "11.0"
//Word 2007 = "12.0"
Word.Application appVersion = new Word.Application();
string sVersion = appVersion.Version.ToString();
if (sVersion != "11.0")
{
object noSpacingStyle = "No Spacing";
oWord.ActiveWindow.Selection.set_Style(ref noSpacingStyle);
}
Run Code Online (Sandbox Code Playgroud)
但是,当尝试在一些地区/文化环境中应用它时,例如意大利语和德语,这种情况就会破裂.我相信这是因为"No Spacing"需要使用目标语言,而不是硬编码为英语.所以,我试图想出一种以更便携的方式应用这种相同变化的方法.
我已经尝试过各种枚举,例如"WdBuiltinStyle",但似乎找不到与"无间距"完成相同的事情.
这里有谁知道如何做到这一点?
怎么样使用
Selection.ParagraphFormat.LineSpacingRule = WdLineSpacing.wdLineSpaceSingle;
Run Code Online (Sandbox Code Playgroud)
您的代码未设置行间距,它会设置应用了某些行间距的样式.
引用该人询问他们是如何解决的,因为这是公认的答案:
正如Joey所说,解决方案是使用Word的内置样式.我通过将以下内容应用于我的Word._Application对象解决了这个问题:
Run Code Online (Sandbox Code Playgroud)oWord.ActiveWindow.Selection.ParagraphFormat.LineSpacingRule = Word.WdLineSpacing.wdLineSpaceSingle; oWord.ActiveWindow.Selection.ParagraphFormat.SpaceAfter = 0.0F;