Я пытаюсь импортировать данные из существующего файла Excel в другой файл.
Я использую функцию ADO, когда строка подключения и запрос SQL поступают из переменных.
См. Пример:
Dim sql As String
sql = Sheets("DASYSTEM").Range("E12").Value
Dim DaSystemCon As ADODB.Connection
Dim DaData As ADODB.Recordset
Set DaSystemCon = New ADODB.Connection
Set DaData = New ADODB.Recordset
DaSystemCon.ConnectionString = Trim(Sheets("DASYSTEM").Range("E11").Value)
DaSystemCon.Open
With DaData
.ActiveConnection = DaSystemCon
.Source = sql
.LockType = adLockReadOnly
.CursorType = adOpenForwardOnly
.Open
End With
Функция запускается из файла X, импортирует данные в тот же файл (файл X) и импортирует данные из файла Y.
Оба файла находятся в сети (Windows Server).
Когда файл Y открывается другим пользователем в сети, и другой пользователь пытается выполнить функцию в файле X, файл Y открывается во время выполнения.
Если файл Y не открыт другим пользователем, импорт выполняется из файла X, выполняется в фоновом режиме и не открывает файл Y.
Как мне этого избежать?
Я имею в виду, как я заставляю процедуру в любом случае не открывать файл Y, даже если он открыт другим пользователем в сети.
Спасибо