XL 2010源和文本输出的Excel 2010 VBA / ADO连接错误

我正在使用Excel 2010和一个macros访问另一个每日电子表格来拉取数据以形成logging的FTP文件。 我遇到的具体问题是运行时连接错误。 我得到的错误是'-2147467259(80004005)':无法识别的数据库格式'C:\ Work \ Daily FTP Process \ Excel DBs and Files \ ftp.xlsx'。 所有我需要它知道去哪里看。 这是手表的连接string:

:ConnectionString:“Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:\ Work \ Daily FTP> Process \ Excel DBs and Files \ ftp.xlsx;” :string:Module1.XLFixedFieldFile

这是相关的(或不相称的)代码:

Dim conn As Object Dim cmd As Object Dim psidRecSet As Object Dim loopIndex As Long Dim connString As String Dim sqlString As String Set conn = CreateObject("ADODB.Connection") Set cmd = CreateObject("ADODB.Command") connString = "Provider=Microsoft.ACE.OLEDB.12.0;" _ & "Data Source=" & XLName & ";" conn.Open connString <==== Here is the line where it is breaking 

解决了! 工作的连接string如下所示:

  connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & XLName & "';Extended Properties='Excel 12.0;HDR=NO;IMEX=1';" 

Remou,我试过了,但是出了点问题,得到了一个错误。 在另一个论坛中find工作线的复制和粘贴就是我的救赎。 我感谢帮助。

对于使用这个yto解决他们的问题的其他人,为了使用Excel 2010,我去了“工具/参考”,并启用了Microsoft AcriveX Data Objects 6.1 Library和Microsoft ActiveX Data Objects Recordset 6.0 Library。

  Dim conn As Object Set conn = CreateObject("ADODB.Connection") connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & XLName & "';Extended Properties='Excel 12.0;HDR=NO;IMEX=1';" conn.Open connString 

你要:

  connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _ & xlFile & ";Extended Properties='Excel 12.0 Xml;HDR=No;IMEX=1';" 

请注意扩展属性的引号。

您可能希望阅读http://support.microsoft.com/kb/257819 ,特别参考IMEX。