В любом случае ADO будет читать обновленные данные из файла Excel только для чтения перед сохранением? (VBA),

Я использую следующий код для чтения данных из листа 1 того же листа Excel. Я загружаю данные в возвращаемый массив. Файл листа Excel помечен как «только для чтения» и всегда открывается в режиме «ТОЛЬКО ДЛЯ ЧТЕНИЯ».

Вопрос что если я изменю какие-либо данные на Sheet1, поскольку файл открывается как «только для чтения», он не будет отражен в запросе ADO. ADO Продолжает выводить то, что находится в «сохраненном» файле, и игнорирует то, что было обновлено в версии только для чтения. Например, приведенное ниже значение извлекает значение «Col5: 6» из ячейки «E6». Если я заменю значение «test», ADO все равно выдаст «Col5: 6»

Как я могу сделать так, чтобы ADO считывал текущие данные на Sheet1 без необходимости «сохранять как»?

Sub sbADO()
    Dim sSQLSting As String
    Dim Conn As New ADODB.Connection
    Dim mrs As New ADODB.Recordset
    Dim DBPath As String, sconnect As String
    Dim returnArray

    DBPath = ThisWorkbook.FullName
    sconnect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBPath _
    & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"

    Conn.Open sconnect
    sSQLSting = "SELECT * From [Sheet1$] "

    mrs.Open sSQLSting, Conn

    returnArray = mrs.GetRows

    mrs.Close
    Conn.Close

    Debug.Print returnArray(4, 4) '>> "Col5:6"

End Sub

Ответы на вопрос(1)

Ваш ответ на вопрос