我在使用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语句。 –