2012-09-06 35 views
2
For Each ws In Worksheets 
ListBox1.AddItem ws.Name 
Next ws 

ListBox1_Click() 
Worksheets(ListBox1.Value).Activate 

我能有一个菜单控制同样的事情上的自定义功能区
XML:如何动态填充自定义功能区上的菜单控件?

<menu id="mnuCats" label="abc" size="large" imageMso="PropertySheet" > 
<button id="go01" label="sky" onAction="go01" imageMso="TextAlignGallery" /> 
<button id="go02" label="sea" onAction="go02" imageMso="TextAlignGallery" /> 
</menu> 

那么,如何填充菜单,工作表名称,以及如何让一个按钮的标签属性一个字符串,用于激活相应的页面。

+1

http://www.mrexcel.com/forum/excel-questions/439475-dynamic-ribbon-control-custom-ui-resources.html显示如何填充功能区上的下拉列表。虽然它比你的列表框例子复杂得多。 –

+0

@ThankYou Tim,我会试试。顺便说一句,我应该在这里输入什么来获得带有标记名称的“@”符号。我试着用tab并进入 - 没有工作。 – Alegro

+0

不知道我理解你的问题 –

回答

3

您需要一个下拉式色带控制。如果在Excel文件中输入以下customUI XML(可能通过使用自定义用户界面编辑器http://openxmldeveloper.org/blog/b/openxmldeveloper/archive/2006/05/25/customuieditor.aspx),则可以获得需要实施的正确VBA回调签名列表,以填充值并响应操作:

<dropDown id="drpTest" label="Test" showImage="false" getSelectedItemIndex="TestGetSelItem" onAction="TestOnAction" getItemCount="TestGetItemCount" getItemID="TestGetItemID" getItemLabel="TestGetItemLabel" sizeString="HowBigDropdownDoYouWant" supertip="Select Test."> 
</dropDown> 
+0

ThankYou Olle,我认为这样可以解决。 – Alegro