以只读模式打开adodb连接到excel文件

案例 :在Windows 7 64bit的Excel 2013中使用VBA脚本中的adodb.connection作为只读文件打开一个excel文件(.xlsx)。

问题 :excel文件似乎打开编辑,即使在adodb的连接string中将Mode参数设置为Read ,以便以只读模式打开连接:

szConnect = "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=" & SourceFile & ";" & _ "Mode=Read;" & _ "Extended Properties=""Excel 12.0;HDR=Yes;"";" 

testing :打开连接后,我设置了一个断点,如下所示

 Set rsCon = CreateObject("ADODB.Connection") rsCon.Open szConnect 

并testing是否在“Mode = Read”中打开了源文件。 通过adodb,它仍然能够以其他用户/连接的写入/编辑模式打开我试图通过文件资源pipe理器打开它,而脚本处于中断模式,但popup一个提示说文件“ 被locking编辑 ”popup我只能以只读模式打开。

那么可能是什么错误?

不知道我是不是说平庸的事情,但为什么要让用户在您的代码运行时打开文件? 我发现这个页面的原因是寻找代码运行文件被阻塞的问题的解决scheme。 解决scheme非常简单 – 首先closures,然后设置为无。

rsCon.Close

设置rsCon = Nothing