You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术问询:能否通过ADO加载ActiveX控件的值?

关于用ADO加载ActiveX控件值的解答

嗨,关于你问的能不能用ADO加载ActiveX控件的值这个问题,答案是不行哦。

ADO是通过OLE DB驱动来读取Excel的工作表数据,它只能识别单元格里的内容、命名区域这类常规表格数据。而ActiveX控件属于Excel的对象,并不存储在单元格的数据源中,所以ADO根本访问不到这些控件的值。

如果需要获取ActiveX控件的值,有两个可行的方向:

  • 要是你必须在不打开Excel窗口的情况下操作,可以用Excel自动化(COM对象调用)——虽然会后台启动Excel进程,但能直接访问ActiveX控件的属性来取值。
  • 要是可以接受打开Excel,直接在VBA里通过控件名称或索引读取就很简单,比如Sheet1.TextBox1.Value、Sheet1.CommandButton1.Caption这类写法。

附上你提供的那段用于读取Excel数据的ADO代码:

' 在不打开Excel的情况下提取工作簿数据。
' 返回一个Variant类型的多维数组
'
' 2007年12月30日,适用于Excel 2000-2007
Public Function GetData( _
 sourceFile As String, _
 SourceSheet As String, _
 SourceRange As String _
) As Variant
 Dim rsCon As Object
 Dim rsData As Object
 Dim szConnect As String
 Dim szSQL As String
 Dim data As Variant
 ' 创建连接...(此处省略原代码后续内容)
End Function

内容的提问来源于stack exchange,提问作者Anton Lahti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:20:46