2017-09-07 70 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 
相關問題