gpt4 book ai didi

excel - 使用ADODB访问打开的xls文件

转载 作者:行者123 更新时间:2023-12-02 10:03:49 27 4
gpt4 key购买 nike

虽然我使用 VBA for Excel 已经很长时间了,但我有一个问题无法独自解决。我将其描述如下,希望得到一些帮助或建议。
我使用的是 Excel 2007 和 Windows XP,均已更新最新补丁。

我经常使用以下代码从另一个工作簿获取数据:

Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=g:\source.xls;Extended Properties=Excel 8.0;"

Sql = "SELECT Field1, Field2 FROM [Sheet1$]"

Set rst = New ADODB.Recordset
rst.Open Sql, conn, adOpenForwardOnly

Worksheets("Results").Range("A2").CopyFromRecordset rst

rst.Close
Set rst = Nothing

conn.Close
Set conn = Nothing

尽可能简单 - 只需连接到文件并从中获取一些数据。只要位于公共(public)网络驱动器 (g:\source.xls) 上的源文件不在另一台计算机上打开,它就可以完美工作。
当另一台计算机上的某个用户打开该文件并且我尝试执行以下代码时,我注意到我想摆脱的一件事:源 Excel 文件被打开(以只读模式)在我的计算机上,并且在关闭与该文件的连接后它没有关闭。更糟糕的是,即使我手动关闭这个源文件,它也会在我的文件中留下一些垃圾,就像它从未关闭一样:在执行几次代码后查看图片(源文件之前已关闭):
enter image description here

我开始相信这是一个无法解决的错误 - 希望我错了:)

最佳答案

您的 Excel 版本是 2007 或更高版本?

如果在提供商处使用 Microsoft.ACE.OLEDB.12.0,您的问题就解决了。

[]的

关于excel - 使用ADODB访问打开的xls文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8985580/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com