簡體   English   中英

如何將樣式從模板復制到另一個文檔

[英]How can I copy styles from a template to another document

我想通過 VSTO Word 插件中的命令從 Word 模板文件夾或我喜歡的任何其他文件夾復制模板的樣式,並將復制的樣式傳遞到文檔。

請問我該怎么做。 我一直在搜索並看到它是可能的,但無法獲得有關用於此的 c# 代碼的最輕微的提示。

基本上有兩種方法可以將樣式從模板復制到在 Word 中打開的文檔。 一種是使用管理器(最初在 Word Basic 中使用,因此有點原始),另一種是將帶有樣式的模板附加到文檔,然后強制更新樣式。

第一個允許只選擇特定的樣式,但這也意味着單獨運行每個樣式的副本。 請注意,樣式由本地化名稱指定 - 沒有使用獨立於語言的wdBuiltinStyle枚舉的選項。

第二個強制文檔適應源模板中的所有樣式。 它具有“副作用”,即通過指向模板的鏈接,還可以使任何構建塊、鍵盤快捷鍵和宏可用於文檔。 通過原始模板提供的任何這些內容都將不再可用。 可以通過重新附加原始模板而不更新樣式來解決最后一個問題(請參閱第二個代碼示例)。

組織者

    private void btnCopyStyles_Organizer_Click(object sender, EventArgs e)
    {
        string tmplPath  = @"C:\Test\StylesTemplate.dotm";
        string[] aStyles = {"Heading 1", "Heading 2" };

        for (int i = 0; i == aStyles.Length- 1; i++)
        {
            wdApp.OrganizerCopy(tmplPath, wdApp.ActiveDocument.FullName, aStyles[i],
                Word.WdOrganizerObject.wdOrganizerObjectStyles);
        }
    }

附上模板

    private void btnCopyStyles_AttachTemplate_Click(object sender, EventArgs e)
    {
        string tmplPath  = @"C:\Test\StylesTemplate.dotm";
        Word.Document doc = wdApp.ActiveDocument;
        doc.set_AttachedTemplate(tmplPath);
        doc.UpdateStyles();
    }

暫無
暫無

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

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