objExcel:=ComObject(“Excel.Application”)
。。。
oRecordset:=ComObject(“ADODB.Recordset”)
。。。
Loop oRecordset.Fields.Count
objExcel.ActiveSheet.Cells(1,A_Index).Value:=oRecordset.Fields(A_Index-1).Name ;这句报错!
v2.0.10 报错的这句在v2.0.2 正常执行,已排除 ComObject(“Excel.Application”) ,问题出在 ComObject(“ADODB.Recordset”) ,但不清楚哪里出错该怎么改。
—————————————————————————-
https://learn.microsoft.com/zh-cn/office/client-developer/access/desktop-database-reference/fields-count-property-dao
由于集合的成员由 0 开始,因此应始终将循环编写为从第 0 个成员开始,并在 Count 属性的值减 1 处结束。 如果需要在集合的成员中循环且不检查 Count 属性,可以使用 For Each…Next 命令。
参考以上文字,改动如下即可,但错误原因依旧不清楚。
for item in oRecordset.Fields
objExcel.ActiveSheet.Cells(1,A_Index).Value:=item.Name
或
Loop oRecordset.Fields.Count
objExcel.ActiveSheet.Cells(1,A_Index).Value:=oRecordset.Fields.Item(A_Index-1).Name