2013-01-11 16 views
7

Stworzyłem dodatek Excel, który pojawia się w interfejsie użytkownika, ale gdy go klikam, nie działa.Excel 2007 addin wyświetla, ale nie działa

Option Explicit 

Public sheetscol As Collection, depshtnm 
Public hasdeps As Boolean 
'*********************************** 
'*finds the external dependencies of the cell, and places them in the 'sheetscol' collection 
'*********************************** 
Sub depfinder_eventhandler(control As IRibbonControl) 
    depfinder 
End Sub 
'-------------- 
Sub depfinder 
... 
End sub 

To CustomUI XML:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" 
    xmlns:m="MattSinSpace"> 
    <ribbon> 
     <tabs> 
      <tab idQ="m:MattTab" label="Matt Tools" insertAfterMso="TabHome"> 
       <group idQ="m:migration" label="migration tools"> 
        <button idQ="m:DepFinderButton1" label="Highlight Dependencies" size="large" 
        onAction="depfinder_eventhandler"       imageMso="HappyFace" /> 
     </group> 
       <group idQ="m:RS1" visible = "false"/> 
      <group idQ="m:RS2" visible = "false"/> 
      </tab> 
     </tabs> 
    </ribbon> 
</customUI> 

Jestem całkiem amatorskie w podejmowaniu dodatki i używam tej strony, aby mi pomóc:

http://erpcoder.wordpress.com/2012/05/30/how-to-create-a-custom-ribbon-addin-for-excel-2010/

Wygląda na to, że wszystko jest w porządku, w moim kodzie i moim interfejsie użytkownika, jedyną różnicą jest to, że umieściłem przestrzeń nazw.

+0

Zobacz, czy to pomaga? http://stackoverflow.com/questions/8850836/how-to-add-a-custom-ribbon-tab-using-vba/8852767#8852767 –

Odpowiedz

5

Twój problem leży w XML dla grupy i przycisków. Używasz idQ, który jest identyfikatorem kwalifikatora używanym podczas współdzielenia kontroli między dodatkami. Chcesz to na karcie, ponieważ możesz dzielić kartę między dodatkami, ale nie grupą lub przyciskami. Poniższy kod XML będzie działać:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" xmlns:m="MattSinSpace"> 
<ribbon> 
    <tabs> 
     <tab idQ="m:MattTab" label="Matt Tools" insertAfterMso="TabHome"> 
       <group id="migration" label="migration tools"> 

     <button id="DepFinderButton1" label="Highlight Dependencies" size="large" 
       onAction="depfinder_eventhandler" imageMso="HappyFace" /> 

     </group> 

      <group id="RS1" visible = "false"/> 
      <group id="RS2" visible = "false"/> 
     </tab> 
    </tabs> 
</ribbon> 

+0

niesamowite! Gdzie mogę znaleźć te informacje? – sterlingalston

+1

Ta strona omawia różne atrybuty przycisku, ale możesz znaleźć wszystko, czego będziesz potrzebować w nadrzędnej dokumentacji. http://msdn.microsoft.com/en-us/library/dd925416%28v=office.12%29.aspx Przekonałem się, że XML jest bardzo zmienny, jest to doskonałe źródło wstążki: http://www.rondebruin.nl/ribbon.htm. Jeśli podoba ci się odpowiedź, możesz to zaakceptować :) – CuberChase

Powiązane problemy