Wie kann ADO vor dem Speichern aktualisierte Daten aus einer schreibgeschützten Excel-Datei lesen? (VBA)
Ich verwende den folgenden Code, um Daten aus Sheet1 von SAME Excel Sheet zu lesen. Ich lade die Daten in das Return-Array. Die Excel-Blattdatei wurde mit "Nur Lesen" markiert und wird immer im Modus "NUR LESEN" geöffnet.
Das Problem ist Wenn ich Daten in Sheet1 ändere, weil die Datei als "schreibgeschützt" geöffnet ist, wird dies nicht in der ADO-Abfrage berücksichtigt. ADO gibt weiterhin aus, was sich in der "gespeicherten" Datei befindet, und ignoriert, was in der schreibgeschützten temporären Version aktualisiert wurde. Das folgende Beispiel bezieht den Wert "Col5: 6" aus der Zelle "E6". Wenn ich den Wert ersetze, um "Test" zu sein, gibt ADO weiterhin "Col5: 6" @ a
Wie kann ich ADO veranlassen, die aktuellen Daten auf Sheet1 zu lesen, ohne "speichern unter" zu müssen?
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