我在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);
}
但是,在尝试将其应用于某些地区/文化环境(例如意大利语和德语)时,这种情况正在破裂。我相信这是因为“No Spacing”需要使用目标语言,而不是硬编码为英语。所以,我试图想出一种以更便携的方式应用这种相同变化的方法。
我已尝试筛选各种枚举,例如“WdBuiltinStyle”,但似乎找不到与“无间距”完成相同的内容。
这里有人知道如何做到这一点吗?
答案 0 :(得分:5)
使用
怎么样?Selection.ParagraphFormat.LineSpacingRule = WdLineSpacing.wdLineSpaceSingle;
您的代码未设置行间距,它会设置应用了特定行间距的样式。
引用该人询问他们是如何解决的,因为这是公认的答案:
正如Joey所说,解决方案是使用Word的内置样式。一世 通过将以下内容应用于我的Word._Application来解决此问题 对象:
oWord.ActiveWindow.Selection.ParagraphFormat.LineSpacingRule = Word.WdLineSpacing.wdLineSpaceSingle; oWord.ActiveWindow.Selection.ParagraphFormat.SpaceAfter = 0.0F;
答案 1 :(得分:1)
正如Joey所说,解决方案是使用Word的内置样式。我通过将以下内容应用于我的Word._Application对象来解决这个问题:
oWord.ActiveWindow.Selection.ParagraphFormat.LineSpacingRule = Word.WdLineSpacing.wdLineSpaceSingle;
oWord.ActiveWindow.Selection.ParagraphFormat.SpaceAfter = 0.0F;