我创建了一个出现在UI中的Excel加载项,但是每当我单击它时都无效。
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
这是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>
我在制作插件方面非常业余,并且我一直在使用此页面来帮助我:
http://erpcoder.wordpress.com/2012/05/30/how-to-create-a-custom-ribbon-addin-for-excel-2010/
看起来一切正常,在我的代码和UI中,唯一的区别是我包括了 namespace 。
最佳答案
您的问题出在组和按钮的XML内。您正在使用idQ,它是在外接程序之间共享控件时使用的限定符标识符。您需要在选项卡中使用此选项,因为您可以在外接程序之间共享选项卡,但不能在组或按钮之间共享。以下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 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>
关于excel - Excel 2007加载项显示但不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14287101/