【问题标题】:c# Interop Word Document add Stylec# Interop Word 文档添加样式
【发布时间】:2012-03-11 20:44:01
【问题描述】:

我想为段落添加样式,但根据单词语言版本,我必须使用不同的名称。现在我正在为多个用户创建一个应用程序,如果他们有英文版本,我可以使用“Header 1”,但如果他们没有,则无法识别样式。我想知道我应该怎么做,我应该添加一个新样式吗?我一直在研究这个,但我不知道怎么做。

所以在我使用的荷兰语版本中:

selection.TypeParagraph();
object kop1 = "Kop1";
selection.set_Style(kop1);
selection.TypeText("test");

但我需要英语:

selection.TypeParagraph();
object kop1 = "Header 1";
selection.set_Style(kop1);
selection.TypeText("test");

我实际上需要这个来创建一个内容表,如果我不使用样式,我就无法创建一个内容表,对吧?否则我的内容表会说它没有内容。

我使用以下方法制作内容表:

object start = adoc.Content.End - 1;
Range rangeForTOC = adoc.Range(ref start, ref missing);
TableOfContents toc = adoc.TablesOfContents.Add(rangeForTOC, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
adoc.TablesOfContents[1].TabLeader = WdTabLeader.wdTabLeaderDots;
adoc.TablesOfContents.Format = WdTocFormat.wdTOCClassic;
toc.Update();

有什么想法吗?

【问题讨论】:

    标签: c# ms-word styles interop paragraph


    【解决方案1】:

    您可能希望使用 Word.WdBuiltinStyle 枚举而不是特定于语言的字符串。例如在上面的代码中使用 Word.WdBuiltinStyle.wdStyleHeading1。

    解决此问题的另一种方法是添加您自己的模板并使用该模板中定义的样式。在这种情况下,您在分发中提供模板。

    对于使用预定义的表格生成样式,另请参阅此答案:Setting Word 2007 table style designs in code

    【讨论】:

      【解决方案2】:

      我会使用DocX(没有 Com)

      Here 是关于样式的信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-04
        • 1970-01-01
        • 1970-01-01
        • 2011-05-09
        • 1970-01-01
        相关资源
        最近更新 更多