自Office 2007版本開始,Microsoft對Office界面進行了徹底的改造,將原來的菜單和工具欄改成了功能區,文件格式也進行了改變。現在的Office文件,實際上是一個壓縮文件,其中包括了創建文檔的XML文件。這樣,我們能夠通過修改其XML文件結構,從而創建自已的功能區。
將文件修改為壓縮文件
首先,需要修改Excel文件的擴展名為.zip,例如將文件MyCustomRibbon.xlsm修改為MyCustomRibbon.zip或者MyCustomRibbon.xlsm.zip,此時,會彈出一個如下圖1所示的警告信息框,單擊“是”。
圖4
我們給按鈕指定了內置的圖像并設置其大小。
也可以給按鈕添加自定義圖像,此時應使用:
image=”imageID”
但需要添加關聯關系并在Excel文件中包括圖像。需要在customUI文件夾中創建兩個新文件夾:
1.文件夾images:用于包含自定義圖像。
2.文件夾_rels:用于關聯。在此文件夾中添加一個文件,文件名為XML文件的名字(示例中是my_customUI.xml),后綴為.rels,因此其名字為:my_customUI.xml.rels。該文件告訴Excel怎樣識別想要放置在功能區中的圖像,其代碼類似如下:
示例中,在images文件夾中,放置了名為my_pic_filename.png和my_2nd_pic_filename.png的圖像文件,如果想在按鈕中使用,則需要通過指定其ID來調用,例如my_icon_1:
下面,我們為按鈕關聯宏,以便用戶單擊按鈕時響應相關功能。
將:
修改為:
使用更新后的文件替換掉壓縮文件中的相應文件后,恢復Excel擴展名,打開Excel文件,開啟VBE,在標準模塊中輸入代碼:
Sub MyHello(control As IRibbonControl) ? ?Dim yourName As String ? ?yourName = InputBox(“請輸入你的名字:”) ? ?MsgBox yourName & “, 歡迎你!”End Sub
此時,當你按下按鈕1時,會彈出一個輸入框要求輸入名字,在輸入完成后,會給出一句問候信息。