自定義功能區(RibbonX)的一些經驗
一、什麼是Office功能區
從2007版本開始,Office引入了功能區,各種工具或功能被塞入頁面上方的條形區域,比之前選單欄更加易於使用。
從2007版本開始,文件使用了標準化的XML語言,同時,功能區也支援自定義,自定義功能區也是標準化的XML語言。推薦使用軟體OfficeRibbonXEditor進行自定義。
PS:感謝Github,感謝作者fernandreu。
二、示例:自定義功能區(RibbonX)
(1)利用OfficeRibbonXEditor建立一個自定義功能區,功能區中包括一個組,組內包括三個按鈕,每個按鈕繫結一個巨集。
在軟體中依次插入Office 2010+CustomUI(如Office為2007,需選擇2007版本,但容易出現中文亂碼的情況),插入XML-Excel示例。
然後點選生成回撥,將回調過程程式碼插入原本的巨集工作簿中。
(2)此外,值得注意的是,如果有很多button,則可以將CustomUI程式碼中每一個button增加Tag屬性,同時對onAction屬性使用相同內容,這個內容即是回撥過程的過程名,這樣一來,回撥過程就簡化成了統一的一段程式碼(見下),過程程式碼簡化為呼叫名為botton.Tag的過程。
Sub call_subs(button As IRibbonControl)
Application.Run button.Tag
End Sub
PS:這個方法是之前在網上看到某位大神的寫法,但忘記出處了,實屬抱歉。
(3)imageMso屬性也是個大坑,以後找機會單獨出一篇來寫。
(4)其他有關CustomUI的用法(語法等),可以參考微軟官方技術文件Word, Excel, and PowerPoint Standards Support。另外,CustomUI這玩意往深了挖可能就跟VSTO有點關係了,本人還沒開始入坑。