问题

希望您能帮助我,我想从excel文件读取数据,以及方式 我正在做的是在backgroud中创建Excel应用程序的实例,但不是我 提示VBA宏 – 禁用或启用它.

我有100个我需要从中收集数据的excel文件,所以如果我将提示每个文件,我最终会采用非常有效的方法.虽然我是Excel VBA世界的新手,并开始怀疑是否有其他方法....

我的问题是我可以以其他方式打开它们吗?

我发现sth ADODB,我觉得这可能会帮助我.所以我有下面的代码. 首先,我想从几个单元格读取数据.我不知道如何 我可以阅读数据.我尝试读取如下所示,但它会抛出错误. Opennig连接很好,查询执行也很好.但是我只是猜,如何读取数据.

我使用VBA编辑器.

 Sub hello_jet()
Set cn = CreateObject("ADODB.Connection")
With cn
 .Provider = "Microsoft.Jet.OLEDB.4.0"
  .ConnectionString = "Data Source=D:	est.xls" & _
"Extended Properties=Excel 8.0;"
.Open
End With
strQuery = "SELECT * FROM [Sheet1$E36:E38]"
Set rs = cn.Execute(strQuery)
Do While Not rs.EOF
  Set strNaam = rs.Fields(0).Value
Loop
rs.Close
End Sub
 

我在Office 2003中工作.但是更多的我发现excell版本应该是11.这不起作用

  最佳答案

我很惊讶连接字符串对你有用,因为它缺少半冒号. set 只用于对象,所以不会说 Set strNaam。

 Set cn = CreateObject("ADODB.Connection")
With cn
 .Provider = "Microsoft.Jet.OLEDB.4.0"
  .ConnectionString = "Data Source=D:	est.xls " & _
  ";Extended Properties=""Excel 8.0;HDR=Yes;"""
.Open
End With
strQuery = "SELECT * FROM [Sheet1$E36:E38]"
Set rs = cn.Execute(strQuery)
Do While Not rs.EOF
  For i = 0 To rs.Fields.Count - 1
    Debug.Print rs.Fields(i).Name, rs.Fields(i).Value
    strNaam = rs.Fields(0).Value
  Next
  rs.MoveNext
Loop
rs.Close
 

还有其他方法,取决于您想要做的事情,例如GetString( GetString Method Description ).

  相同标签的其他问题

excelvba