2014-01-21 77 views
0

我們已經開發出包含了一些基本功能的Excel加載項(.xlam)文件Excel加載項絲帶菜單

如MySum(A,B),並返回我想等總和

然後,我保存在網絡上的文件,並安裝了它在其他國家人民的Excel中使用

文件 - >選項 - >加載項

使excel指網絡插件作品如魅力。每個人都可以在本地的Excel應用程序中使用MySum()函數。

現在我想把它提升到一個新的水平,即我想在功能區菜單中加入相同的功能,例如我們創建一個.exe文件用戶安裝它,一個菜單將出現在名爲MySum的用戶excel功能區上,這將增加添加更多功能的靈活性,並使最終用戶更容易。

我聽到並使用了一些第三方軟件功能區菜單(使用xll文件),並且我知道它也可以通過Visual Studio完成。我只是想獲得專家意見,以瞭解我的方案的最佳方法。

任何幫助表示讚賞!

回答

2

使用自定義用戶界面編輯器自己製作自定義功能區非常容易。注意 - 這在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上)選擇了一個項目,都會以相同的功能結束。但這是我希望你不需要的改進。

+0

我已經實現了菜單欄上的基本按鈕和單擊它時的消息,效果很好。現在,我應該從哪裏開始,即如何在網絡上部署這個帶有「令人敬畏的功能」的Excel? – EvenPrime

+1

將它保存爲加載項,然後像對待您之前加載項一樣對待它。新的功能區將出現...(它嵌入在加載項中)。 – Floris

+1

正是我所想象的,美麗! – EvenPrime