我在使用ADO嘗試更改已關閉的Excel工作簿中的數字。我發現下面的代碼是由L42在2015年編寫的。但程序會停止,並顯示錯誤「沒有給出一個或多個必需參數的值」。我找不到丟失的東西!通過ADO寫入/更新數據以關閉Excel工作簿
Sub ChangeNum()
Dim con As ADODB.Connection, rec As ADODB.Recordset
Dim sqlstr As String, datasource As String
Set con = New ADODB.Connection: Set rec = New ADODB.Recordset
datasource = "D:\DropBox\TraderShare\TraderNum.xlsx"
Dim sconnect As String
sconnect = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & datasource & ";" & _
"Extended Properties=""Excel 12.0 Xml;HDR=YES"";"
con.Open sconnect
sqlstr = "UPDATE [Sheet1$] SET [Number] = ""16900"" WHERE [ID] = INum"
rec.Open sqlstr, con, adOpenUnspecified, adLockUnspecified 'adLockOptimistic , adOpenStatic, adLockReadOnly
con.Close
Set rec = Nothing: Set con = Nothing
End Sub
感謝您的幫助!
是的,道格,這正是我所要求的。但是我對SQL和ADO知之甚少,之所以我在尋求幫助!正如你所看到的,有幾行代碼,拼寫當然是我先檢查的。這個錯誤是在「rec.Open sqlstr,con,adOpenUnspecified,adLockUnspecified」觸發的。我找不到任何更多**必需的**參數用於Open語句。 –