我从用户那里收到一个 excel(Book1.xls) 文件,有时其中一个工作表名称是 XYZ,有时它的名称是 XYZ1。
我在做
Dim Conn,Rs
Set Conn = CreateObject("ADODB.Connection")
Conn.ConnectionTimeout = 10
Conn.CommandTimeout = 300
Conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Book1.xls;Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set RS = Conn.Execute("SELECT * FROM [XYZ$B1:B1]")
当工作表名称为 XYZ1 时,上述代码的最后一行会出现错误消息:Microsoft Access 数据库引擎找不到对象 'XYZ$CB1:B1'。确保对象存在并且正确拼写其名称和路径名。如果“XYZ$CB1:B1”不是本地对象,请检查您的网络连接或联系服务器管理员。
而不是最后一行,我想做类似的事情
sheetNameString = Conn.Execute("SELECT Join(SheetName) from Book1.xls")
If InStr(sheetNameString,"XYZ1") Then
Set RS = Conn.Execute("SELECT * FROM [XYZ1$B1:B1]")
Else
Set RS = Conn.Execute("SELECT * FROM [XYZ$B1:B1]")
End If