簡體   English   中英

C#Interop Word文檔添加樣式

[英]c# Interop Word Document add Style

我想為段落添加樣式,但是根據語言版本,我必須使用其他名稱。 現在,我正在為多個用戶創建一個應用程序,如果他們有英文版本,我可以使用“標題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();

有任何想法嗎?

您可能要使用Word.WdBuiltinStyle枚舉而不是語言特定的字符串。 例如,在上面的代碼中使用Word.WdBuiltinStyle.wdStyleHeading1。

解決此問題的另一種方法是添加您自己的模板並使用該模板中定義的樣式。 在這種情況下,您可以在分發中提供模板。

有關使用預定義表生成樣式的信息,另請參見以下答案: 在代碼中設置Word 2007表樣式設計

對於一個我會使用DocX (no Com)

是有關樣式的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM