我正在使用 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/

10-12 20:18