I created an Excel Addin that appears in the UI, but whenever I click it it doesn't work.
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
This is the XML CustomUI:
<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>
I'm pretty amateurish at making add-ins, and I've been using this page to help me out:
http://erpcoder.wordpress.com/2012/05/30/how-to-create-a-custom-ribbon-addin-for-excel-2010/
It appears that things are fine, in my code and my UI, the only difference is that I've included the namespace.
To activate an Excel add-in Click the File tab, click Options, and then click the Add-Ins category. In the Manage box, click Excel Add-ins, and then click Go. The Add-Ins dialog box appears. In the Add-Ins available box, select the check box next to the add-in that you want to activate, and then click OK.
Click Add-Ins. Under Manage, click Disabled Items, and then click Go. On the Add-Ins dialog box, if RUNNER for TRANSACTION appears in the list, select it. Click Enable.
To enable or disable Excel add-ins, from Manage, select Excel Add-ins, then click Go and then perform a task: To enable add-ins, ensure that the check box next to the add-in is checked. If the check box next to the add-in is cleared, then click the check box to select it, and then click OK.
Your problem lies within the XML for the group and buttons. You are using idQ which is a qualifier identifier used when sharing controls between add-ins. You want this in the tab since you may share the tab between add-ins but not the group or buttons. The following XML will work:
<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>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With