7

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 カスタム UI です。

<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 では問題ないようです。唯一の違いは、名前空間を含めたことです。

4

1 に答える 1

5

問題は、グループとボタンの 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>

于 2013-01-12T00:42:13.753 に答える