vba - 使用 ADO 连接到 Excel - 不知道工作表名称

标签 vba excel

我正在使用 ADO 连接到 Excel,但只有在指定工作表名称时它才有效。我在运行时不会知道这些。有什么方法可以获取工作表名称吗? Excel 自动化?

谢谢。

最佳答案

打开 ADO 连接后,需要调用 OpenSchema() 方法,该方法返回工作表名称为“table_name”的结果集

我对 VBA 有点生疏,但看起来应该是这样的

Dim oConn
DIm oRs
Set oConn = New ADODB.Connection
Dim sConn
sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=somepathtoXLS; xxx not sure some other connection str props..."
oConn.Open sConn

Set oRS = oConn.OpenSchema(adSchemaTables)
Do While Not oRS.EOF 
   sSheetName = oRS.Fields("table_name").Value
   '// do something with the sSheetName
   oRS.MoveNext
Loop

关于vba - 使用 ADO 连接到 Excel - 不知道工作表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1397158/

相关文章:

Excel数据透视表按单元格值过滤,单元格值不存在

VBA - 更短的 If/Or 语句

sql - VBA 中是否有针对没有结果的 sql 查询的解决方法?

excel - 如何在工作表中调用 VBA 函数?

excel - 如何将 VBA 错误 "Cannot saving ".xlsm"修复为 ".xlsx""?

vba - 在 Excel 加载项中包含帮助

excel - 发送的邮件项目无效使用

excel - 将公式和字符串连接在一起的单元格相加

c# - 获取合并单元格的高度和宽度以放置图片。

excel - 逐行比较Excel中的两列?