2013-03-15 84 views
1

我使用大型VBA代碼庫分發Word模板。該模板包含一個菜單,對於Word 2007/2010用戶,則是一個功能區選項卡。在Word 2013中,通過菜單仍然可以正常工作,但功能區沒有顯示出來。我仍然使用VBA編碼而不使用Visual Studio(並且不想購買VSTO)。所以我想弄清楚如何更新我的功能區代碼/ xml或任何它是我需要做的,使我的功能區選項卡顯示在2013年。如何將Word功能區標籤從2007/2010遷移到2013

功能區被複制到模板中的新文檔用戶根據模板創建一個新文檔。但是,在Word 2013中出現了這種情況。 有趣的是,如果我打開之前從我的模板創建的文檔(在Word 2010中),則功能區顯示並正常工作。但是,如果我從模板創建一個新的Word 2013文檔,功能區不在那裏。

在我的代碼中必須有一些東西要告訴Word根據我的模板在新文檔中顯示功能區,但是我一直無法找到該信息。

我一直使用「Office自定義用戶界面編輯器」生成我的功能區,該功能不適用於Word 2013;該工具將xml插入到模板中。我的功能區XML以此開頭:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="SERibbon_Load"> 
    <ribbon startFromScratch="false"> 
     <tabs> 

任何人都知道如何使我的功能區選項卡在Word 2013中工作?

回答

0

我還沒有做到這一點,我自己,但從msdn:http://social.msdn.microsoft.com/Forums/en-US/officegeneral/thread/6575cee8-796a-40da-9520-24c5161f7600看看這個線程。

它看起來像命名空間是一樣的,但一些屬性值可能已經改變。您可能需要檢查文檔以查看ribbonXML是否符合:http://www.microsoft.com/en-us/download/details.aspx?id=727

+0

謝謝克里斯蒂娜。非常有用的鏈接。我會在週末做一些這方面的工作,如果它在我的工作中(如我希望的那樣)領先於Word 2013中的功能區,將會得到答案。 – 2013-03-15 17:44:19

2

嗯,事實證明,我的功能區或代碼確實沒有問題。安裝模板的安裝程序代碼爲Word 2003或更早版本的用戶安裝了「.dot」模板(不帶功能區),併爲更新版本的Word安裝了「.dotm」模板(使用功能區)。然後它在用戶的開始菜單上設置模板的快捷方式。

安裝程序代碼無法識別是否安裝了Word 2013,並且得出結論說用戶正在使用Word 2003,並因此創建了無模板版本模板的快捷方式。我改變了指向「.dotm」版本的捷徑,一切都很順利。所以事實證明,我的自定義功能區選項卡在Word 2007/2010/2013中工作正常。我只需修復安裝程序即可檢測Word 2013(註冊表中的版本「15」)。

命名空間在2010年顯然發生了變化,但與2007向後兼容。2010向命名空間添加了一些內容,2013添加了新內容,但我的理解是它是相同的模式,因此也向後兼容Word 2007功能區定義。

G

相關問題