2016-11-20 18 views
0

トグルボタンの値を設定しようとしています。これは私が署名トグルボタンのVBAリボンgetPressed

Sub GuideToggled(control As IRibbonControl, ByRef Pressed As Boolean) 

と方法を持っている私のリボンXML

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"> 
<ribbon startFromScratch="false"> 
    <tabs> 
    <tab id="customTab" label="CC"> 
    <group id="grpSegments" label="Segments"> 
    <dropDown id="cbLeaves" label="Segments" onAction="LeavesChanged" getSelectedItemID="GetCBLeavesSelectedID"> 
     <item id='item4' label='4'/> 
     <item id='item6' label='6'/> 
     <item id='item8' label='8'/> 
     <item id='item12' label='12'/> 
    </dropDown> 
    <button id="cGenerate" label="Generate" size="large" onAction="ArrangeRosette"/> 
    </group> 
    <group id="grpGuides" label="Guides"> 
    <toggleButton id="cToggleGuide" label="Show Guides" onAction="GuideToggled" getPressed="GetGuideState"/> 
    </group> 
    </tab> 
    </tabs> 
</ribbon> 
</customUI> 

あるしかし、これは常にマクロがアクセス可能でないことに関するエラーが発生します。

のに対し、ドロップダウンのためのgetSelectedItemIDは、私が文書化さgetPressedコールバックを持っているすべてのリソースを見つけることができません支障

Sub GetCBLeavesSelectedID(control As IRibbonControl, ByRef ItemID As Variant) 

を持っていません。

+0

ここを見ましたかhttps://msdn.microsoft.com/en-us/library/dd910802(v=office.12).aspx? – Niclas

+0

ありがとうございます。私はその本をダウンロードした本を見ていました。コールバックはありません。以下のOlleの答えには、リボンXMLエディタの使用に関する有用な提案があります。 –

答えて

0

あなたはそれらの両方を必要とするので、あなたのリボンXMLにGuideToggledGetGuideStateを参照:

'Callback for cToggleGuide onAction 
Sub GuideToggled(control As IRibbonControl, pressed As Boolean) 
End Sub 

'Callback for cToggleGuide getPressed 
Sub GetGuideState(control As IRibbonControl, ByRef returnedVal) 
End Sub 

あなたがcustom UI editor toolを試したことがありますか? VBAコールバックの正しい署名を見つけるのに役立ちます。

+0

ありがとうございます。カスタムUIエディタもコールバックをやったことは分かりませんでした。 私はVSTOコードから署名を変換しました。 'Boolean'ではなく' Variant'である必要があるデータ型を出力します –