2017-09-07 71 views
0

我试图通过不同远程计算机中的ADODB连接访问放置在共享路径中的Excel工作簿。但是,当多台远程机器试图访问同一个Excel工作表,它thows以下错误:通过ADODB访问Excel工作簿 - 同时有多个用户

The Microsoft Office Access database engine cannot open or write to the file ''. It is already opened exclusively by another user, or you need permission to view and write its data.

连接字符串中使用

strConnection_Write = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & _ 
    Runmanager_path & ";Mode= Share Deny None" & _ 
    ";Extended Properties=""Excel 8.0;HDR=Yes;"";" 

请给我建议的解决方案。

+2

您尝试建立连接之前,您可以检查文件是否已经打开(有几种方法在VBScript中做到这一点..只是做一个搜索)。如果文件已打开,您可以等待或退出脚本。如果没有,您可以尝试连接 – Zac

回答

1

我碰到了同样的问题而回用OLEDB,得到了过去,它通过使用DAO ...

Dim DBworkbook As DAO.Database 
Dim DBSheet As DAO.Recordset 

Set DBworkbook = OpenDatabase("C:\File.xls", False, False, "Excel 8.0;HDR=Yes;") 
Set DBSheet = DBworkbook.OpenRecordset("SELECT * FROM [Sheet1$]") 

DBSheet.MoveFirst 
Do Until DBSheet.EOF 
    If DBSheet!Name = "Bob" Then 
    DBSheet.Edit 
    DBSheet!Addeess = "5 Something Street" 
    DBSheet.Update 
    End If 
    DBSheet.MoveNext 
Loop 
相关问题