2017-09-07 6 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 
関連する問題