ADODB将不会连接到我启用excel文件的macros

我打算从具有表单的Word文档中导出数据。 我可以将数据导出到扩展名为.xlsx的excel文件,但是当试图将数据导出到使用扩展名.xslm的启用了macros的Excel文件时,出现错误消息(条件expression式中的数据types不匹配)。

有谁知道为什么我会得到这个错误信息? 为什么它会导出到.xlsx,而不是.xlsm?

这是我的代码:

Set cnn = New ADODB.Connection With cnn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "Data Source=C:\Users\Desktop\OG Database\OG Database.xlsm;" & _ "Extended Properties=Excel 12.0 Macro;" .Open .Execute strSQL End With 

几个月前,我有类似的问题,并能够通过在Excel中定义一个列为“date”格式,然后尝试插入文本来复制该问题。

Excel有时会被locking到放入它的第一个数据types。 Excel然后将整个列定义为该types。 当试图通过ADO处理数据时,会导致此错误。

为了确保Excel不会“混淆”,请尝试插入一些不太可能含有混淆字段的数据行。

 "INSERT INTO [Sheet1$](Colors, SelectedDate, Balance) VALUES('red', #6/25/1950#, 24.76)" 

当然,不要忘了随后删除它。