尝试通过VBA和OLEDB在Excel中创build一个表

我正在尝试在Excel中使用VBA和ADODB创build表(选项卡)。 你能告诉我我要去哪里吗?

comm.CommandText = "create table [temptable]([AA] VARCHAR(40));"之后,我在comm.Execute处得到一个错误comm.CommandText = "create table [temptable]([AA] VARCHAR(40));" 线:

Microsoft Access数据库引擎找不到该对象“temptable”。

在表名尾加一个$或在开头加一个#似乎没有帮助。

 Sub sqlquery2() Dim rs As ADODB.Recordset Dim conn As String Dim conObj As ADODB.Connection Dim comm As ADODB.Command Dim fileName As String Set conObj = New ADODB.Connection Set comm = New ADODB.Command fileName = ThisWorkbook.FullName conn = "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=" & fileName & ";" & _ "Extended Properties=Excel 12.0 XML" conObj.ConnectionString = conn conObj.Open comm.ActiveConnection = conObj comm.CommandType = adCmdText On Error Resume Next comm.CommandText = "DROP TABLE [temptable];" comm.Execute On Error GoTo 0 comm.CommandText = "create table [temptable]([AA] VARCHAR(40));" comm.Execute comm.CommandText = "insert into [temptable] select [A] from [SQL_Test$];" comm.Execute conObj.Close End Sub 

提前非常感谢!

尝试在一个封闭的工作簿上做。

我有一个打开的工作簿有这个问题。 当我在封闭的工作簿上完成时,它消失了。 这也是崩溃告诉我,表(工作表),当wbk打开时不存在。 工作表确实存在。 当我查询closures的wb时,这个问题也消失了。