3

我在 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);
}

但是,当尝试将其应用于某些区域/文化环境(例如意大利语和德语)时,这会被打破。我相信这是因为“无间距”需要使用目标语言,而不是硬编码为英语。因此,我试图找出一种方法以更便携的方式应用相同的更改。

我尝试过筛选各种枚举,例如“WdBuiltinStyle”,但似乎找不到与“No Spacing”完成相同任务的枚举。

这里有谁知道如何做到这一点?

4

2 回答 2

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;
于 2011-01-12T19:08:50.353 回答
1

正如 Joey 建议的那样,解决方案是使用 Word 的内置样式。我通过将以下内容应用于我的 Word._Application 对象解决了这个问题:

oWord.ActiveWindow.Selection.ParagraphFormat.LineSpacingRule = Word.WdLineSpacing.wdLineSpaceSingle;
oWord.ActiveWindow.Selection.ParagraphFormat.SpaceAfter = 0.0F;
于 2011-01-12T19:34:31.530 回答