ساخت ساختار منو با Ribbon
ساخت ساختار منو با Ribbon
فصل ۳۸ — ساخت ساختار Menu با Ribbon
در فصل ۱۱ ساخت Ribbon سفارشی برای Form و Report معرفی شد. اگر بخواهید Structure کامل Menu شبیه نسخههای قبل از Access 2007 با Treeهای Drop-down بسازید، این کار نیز در XML Ribbon ممکن است.
Table سیستمی USysRibbons را با دو Field بسازید: RibbonName از نوع Text و RibbonXML از نوع Memo. ابزار 2007 Custom UI Editor for Microsoft Office نیز لازم است. URL منبع بهصورت متن: www.openxmldeveloper.org/articles/CustomUIeditor.aspx.
یک Excel XML خالی را در Custom UI Editor باز و XML زیر را وارد کنید:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" >
<ribbon startFromScratch="true">
<tabs>
<tab id="customTab" label="MyMenu" >
<group id="customGroup" label="My New Menu Structure">
<box id="box1" boxStyle="horizontal">
<menu id="Group1" label="Group1" >
<button id="id1" label="Option1" onAction="Action1"/>
<menuSeparator id="sep1" />
<button id="id2" label="Option2" onAction="Action2"/>
<button id="id3" label="Option3" onAction="Action3"/>
</menu>
<button id="SP1" label=" " enabled="false"/>
<menu id="Group2" label="Group2" >
<button id="id4" label="Option4" onAction="Action4"/>
<button id="id5" label="Option5" onAction="Action5"/>
<menuSeparator id="sep2" />
<menu id="Group3" label="Group3" >
<button id="id7" label="Option7" onAction="Action7"/>
<button id="id8" label="Option8" onAction="Action8"/>
</menu>
<button id="id6" label="Option6" onAction="Action6"/>
</menu>
</box>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
با Validate (علامت Tick قرمز) XML را بررسی کنید. سپس XML را در Fieldِ RibbonXML و نام MyRibbon را در RibbonName ذخیره کنید. Database را ببندید و دوباره باز کنید. Form جدید بسازید و Propertyِ Ribbon Name آن را روی Ribbon تازه قرار دهید.
شکل ۳۸-۱ — Ribbon با نام MyMenu
Menu Separatorها قابل مشاهدهاند و Group3 Submenuِ Group2 است. Button غیرفعالی که Label آن فقط Space است بین Group1 و Group2 نقش Spacer دارد و ظاهر Menu را بهتر میکند.
هنوز Actionها Code ندارند. در Custom UI Editor گزینهٔ Generate Callbacks را بزنید تا Skeleton کدها ساخته شود:
'Callback for id1 onAction
Sub Action1(control as IRibbonControl)
End Sub
'Callback for id2 onAction
Sub Action2(control as IRibbonControl)
End Sub
'Callback for id3 onAction
Sub Action3(control as IRibbonControl)
End Sub
'Callback for id4 onAction
Sub Action4(control as IRibbonControl)
End Sub
'Callback for id5 onAction
Sub Action5(control as IRibbonControl)
End Sub
'Callback for id6 onAction
Sub Action6(control as IRibbonControl)
End Sub
کد Callback را در Module استاندارد VBE Paste کنید و Logic هر Action را وارد کنید؛ نمونه:
'Callback for id1 onAction
Sub Action1(control as IRibbonControl)
MsgBox "You selected Option1"
End Sub