首页 > 解决方案 > Excel Office Fluent 功能区 - 填充 ComboBox OnLoad

问题描述

我正在为 Excel 工作簿开发自定义功能区。我目前在工作表中有 ActiveX 对象,例如组合框。在 ThisWorkbook 中,我执行代码来填充组合框。我正在努力摆脱工作表对象,而是使用自定义功能区中的对象。

加载工作簿时,是否可以将列表内容推送到功能区组合框并刷新(无效)功能区以显示结果?如果是这样,看看这样做的例子会很有帮助。

如果有人需要查看特定代码,我可以相应地更新。谢谢

更新 - 缩小问题范围

按照我找到的指南,我可以获得触发 OnLoad 的回调,现在我想了解如何获取查询结果以填充列表。我有查询结果,但是当我将它们分配给returnVal 时,它不起作用(没有错误)。这是我的回调:

'Callback for SWcboFilterList getItemLabel
Public Sub SWcboFilterList_getItemLabel(control As IRibbonControl, index As 
Integer, ByRef returnedVal)

Dim sSQL As String
sSQL = "SELECT [PGROUP] FROM [tblProperties] GROUP BY [PGROUP] HAVING ((([P_GROUP]) Is Not Null));"

adoQuery sSQL

returnedVal = myResults.GetRows

myResults.Close
End Sub

'Callback for SWcboFilterList getItemCount
Public Sub SWcboFilterList_getItemCount(control As IRibbonControl, ByRef 
returnedVal)

Dim sSQL As String
sSQL = "SELECT [PGROUP] FROM [tblProperties] GROUP BY [PGROUP] HAVING ((([P_GROUP]) Is Not Null));"

adoQuery sSQL
returnedVal = myResults.RecordCount

myResults.Close
End Sub

如果我将returnVal 分别设置为“Test”和1,它就可以工作。那么数据必须如何格式化才能让功能区中的 Dropdown 接受呢?

谢谢

标签: excelcontrolsribbonfluent

解决方案


推荐阅读