使用自定義用戶界面編輯器自己製作自定義功能區非常容易。注意 - 這在Mac上無法使用,因爲我們的微軟朋友似乎認爲能夠在兩個平臺上以相同的方式控制加載項的外觀並不重要。有時候給我買一杯啤酒,我會告訴你我真的在想什麼......
無論如何,你不需要Visual Studio路線。只要到
http://www.rondebruin.nl/win/s2/win001.htm
朗日布魯因給出了一個極好的步行通過關於如何做到這一點。只需按照步驟 - 它的工作。編輯源代碼(在轉換爲插件之前),添加一些描述所需功能區組件的XML。您可以隱藏現有組件,將新組添加到現有功能區,創建您自己的選項卡......製作好看的圖標甚至非常容易,因此您的按鈕看起來很酷/個性化/專業(我使用Axialis圖標工作室來設計一些圖標,挺自豪的......)
如果你卡住了,問問!
更新這裏是主頁選項卡後立即產生一個新的標籤的XML的例子,並把兩組按鈕:
<mso:customUI xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui">
<mso:ribbon>
<mso:qat />
<mso:tabs>
<mso:tab id="myTab" label="Awesome functions" insertAfterMso="TabHome">
<mso:group id="myGroup1" label="Awesome math" autoScale="true">
<mso:button id="id_sum" label="sum" image="sigma" size="large" onAction="UI_doMath" />
<mso:button id="id_mult" label="multiply" image="times" size="large" onAction="UI_doMath" />
<mso:button id="id_var" label="variance" image="variance" size="large" onAction="UI_doMath" />
</mso:group>
<mso:group id="myGroup2" label="Awesome text" autoScale="true">
<mso:button id="id_bold" label="really bold" image="bold" size="large" onAction="UI_doText" />
<mso:button id="id_italic" label="italicize" image="italic" size="large" onAction="UI_doText" />
</mso:group>
</mso:tab>
</mso:tabs>
</mso:ribbon>
</mso:customUI>
正如你所看到的,每個組調用其自身的功能 - 一個組呼叫UI_doMath
,其他呼叫UI_doText
。潛艇的簽名看起來有點像這樣:
Sub UI_doMath(controlID As String)
Select Case controlID
Case "id_sum"
call sumTheStuff
Case "id_mult"
call multiplyStuff
Case "id_var"
call computeVariance
Case Else
MsgBox "Unknown button: '" & controlID & "' was clicked!"
Exit Sub
End Select
End Sub
通過這種方式,一個例程就是功能區中一個組中所有按鈕的入口點。我認爲,使代碼更容易維護。對我來說尤其如此,因爲我實際上有一個「平臺無關」的版本 - 也就是說,無論你從菜單(在Mac上)還是在功能區(在PC上)選擇了一個項目,都會以相同的功能結束。但這是我希望你不需要的改進。
我已經實現了菜單欄上的基本按鈕和單擊它時的消息,效果很好。現在,我應該從哪裏開始,即如何在網絡上部署這個帶有「令人敬畏的功能」的Excel? – EvenPrime
將它保存爲加載項,然後像對待您之前加載項一樣對待它。新的功能區將出現...(它嵌入在加載項中)。 – Floris
正是我所想象的,美麗! – EvenPrime