ak47gglllk 发表于 2015-2-25 10:47:44

回复 15# chzj589


    >运行:(3.3.12.0):C:\Program Files\AutoIt3\AutoIt3.exe "C:\Documents and Settings\Administrator\桌面\excel显示到ListView.au3"   
--> 按 Ctrl+Alt+Break 重新开始或按 Ctrl+Break 停止
"C:\Documents and Settings\Administrator\??\excel???ListView.au3" (45) : ==> Variable must be of type "Object".:
If $RS.eof = True And $RS.bof = True Then
If $RS^ ERROR
->10:46:47 AutoIt3.exe 结束.rc:1


闪退了,感谢大神解答

chzj589 发表于 2015-2-25 10:52:40

回复 16# ak47gglllk

#include <GUIConstantsEx.au3>
#include <Excel.au3>
$Form1 = GUICreate("Excel数据读到ListView中", 800, 600)
$ListView1 = GUICtrlCreateListView("1|2|3|4|5|6", 14, 10, 770, 570)
GUISetState(@SW_SHOW, $Form1)
duexcel()

While 1
        $nMsg = GUIGetMsg()

        Switch $nMsg

                Case $GUI_EVENT_CLOSE
                        Exit
        EndSwitch
WEnd
Func duexcel()
        Local $conn, $connstr, $sql, $RS;;;;;;;;;;局部变量,,变量作用范围
        $conn = ObjCreate("ADODB.Connection");;; Connection 对象代表打开的、与数据源的连接。
        $connstr = 'Driver={Microsoft Excel Driver (*.xls)};DBQ=' & '销售清单.xls'
        $conn.open($connstr);;;使用 Open 方法建立到数据源的物理连接
        $sql = "select * from " ;class
        $RS = $conn.execute($sql)
        If $RS.eof = True And $RS.bof = True Then ;;BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前。                                                                        ;;EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后。
                ConsoleWrite("没有数据");;;;;;;;;;从记录头到尾EOFBOF为真没记录
                MsgBox(0, "提示", "没记录")
                Exit
        Else

                While Not $RS.eof ;;;;EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后为
                        ConsoleWrite($RS.fields("行号").value);;;;;读取字段值
                        ConsoleWrite($RS.fields("商品名称").value)
                        ConsoleWrite($RS.fields("单位").value)
                        ConsoleWrite($RS.fields("数量").value)
                        ConsoleWrite($RS.fields("单价").value)
                        ConsoleWrite($RS.fields("金额").value)
                        Local $aabID = String($RS.fields("行号").value)
                        Local $aaba = String($RS.fields("商品名称").value)
                        Local $aabb = String($RS.fields("单位").value)
                        Local $aabc = String($RS.fields("数量").value)
                        Local $aabd = String($RS.fields("单价").value)
                        Local $aabe = String($RS.fields("金额").value)
                       
                        $RS.movenext

                        GUICtrlCreateListViewItem($aabID & "|" & $aaba & "|" & $aabb & "|" & $aabc & "|" & $aabd & "|" & $aabe, $ListView1)
                WEnd

                $conn.Close();;;使用 Open 方法建立到数据源的物理连接。使用 Close 方法将其断开。
        EndIf
EndFunc   ;==>duexcel

ak47gglllk 发表于 2015-2-25 10:58:50

回复 17# chzj589

netegg 发表于 2015-2-25 10:58:57

回复 17# chzj589
引擎不对吧,那个引擎最高到97

ak47gglllk 发表于 2015-2-25 10:59:02

回复 18# ak47gglllk


    感谢大神

ak47gglllk 发表于 2015-2-25 11:08:25

回复 19# netegg


什么引擎哇,求教。office的?

netegg 发表于 2015-2-25 11:11:59

本帖最后由 netegg 于 2015-2-25 11:14 编辑

连接引擎,adodb后台用的也是sql

网上搜一下connect string,有介绍

ak47gglllk 发表于 2015-2-25 11:17:12

回复 22# netegg


    感谢,感谢,我看看去。非常感谢大神

ak47gglllk 发表于 2015-2-25 13:37:23

回复 22# netegg


    感谢大神,是excel表的名称错了。。。。感谢

duanqs 发表于 2015-2-26 10:00:41

测试一下帖子里如何插入高亮代码:
...

While 1
      
      $nMsg = GUIGetMsg()
      
      Switch $nMsg
               
                Case $GUI_EVENT_CLOSE
                        Exit
      EndSwitch
WEnd

rdctgvf 发表于 2015-3-19 00:31:09

新人,顶起,正在努力学习中~~

rdctgvf 发表于 2015-3-19 00:31:21

新人,顶起,正在努力学习中~~

zxhou1 发表于 2015-3-19 14:14:54

{:face (254):}

xiao3ma 发表于 2020-12-28 10:40:52

ak47gglllk 发表于 2015-2-25 10:21
回复 6# chzj589






我调试了一上午也无法运行,总是无法打开文件,麻烦帮忙看下什么原因,谢谢
页: 1 [2]
查看完整版本: excel显示到ListView