以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]dim book  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=81744)

--  作者:huhu
--  发布时间:2016/3/4 17:01:00
--  [求助]dim book
msgbox(0)
Dim Book As New XLS.Book("C:\\Users\\基永\\Desktop\\ExportData\\计划.xls")---------这句有问题吗?
msgbox(1)


--  作者:飞
--  发布时间:2016/3/4 17:10:00
--  
看起来没有什么问题
--  作者:huhu
--  发布时间:2016/3/4 17:11:00
--  
那为什么弹出0,不弹出1呢。注掉红色的代码,弹出0和1
--  作者:huhu
--  发布时间:2016/3/4 17:27:00
--  
.NET Framework 版本:2.0.50727.8009
Foxtable 版本:2015.12.22.1
错误所在事件:窗口,库存管理界面,Button12,Click
详细错误信息:
未将对象引用设置到对象的实例。


msgbox(0)
Dim Book As New XLS.Book("C:\\Users\\基永\\Desktop\\ExportData\\计划.xls")
msgbox(1)
Dim Sheet As XLS.Sheet = Book.Sheets(0)

Tables("计划表").StopRedraw()
\'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"日期","生产订单号码","工单行号","工单","物料编码","物料名称","类别说明","部门名称","开工日期","完工日期","生产订单数量","入库数量","完成数量","产品批次","工单状态","订单号","订单行号","客户","备注","软件版本","料况追踪","基板","销售订单","周需求交期","合同约定交期","生产反馈","修改标记"}
\'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 1 To Sheet.Rows.Count -1
    Dim scddhm As String = sheet(n,1).Text
    Dim gdhh As String = sheet(n,2).text
    If DataTables("计划表").SQLFind("生产订单号码 = \'" & scddhm & "\' and 工单行号 = \'" & gdhh & "\'") Is Nothing Then \'如果不存在同编号的计划表
        Dim r As Row = Tables("计划表").AddNew()
        For m As Integer = 0 To nms.Length - 1
            r(nms(m)) = Sheet(n,m).Value
        Next
    End If
Next
Tables("计划表").ResumeRedraw()
Tables("计划表").save
msgbox("导入完成")

--  作者:大红袍
--  发布时间:2016/3/4 17:43:00
--  

不可能报这个错:

 

未将对象引用设置到对象的实例。
 
如果出错,就只能是你的路径写的有问题。

--  作者:huhu
--  发布时间:2016/3/4 18:02:00
--  
Dim Book As New XLS.Book("D:\\计划.xls")
换成D:\\计划.xls也报同样的错

--  作者:Hyphen
--  发布时间:2016/3/5 8:45:00
--  
代码没有问题,应该是找不到文件,不然就是Office有问题了。重装一下Foxtable和Office试试
--  作者:大红袍
--  发布时间:2016/3/6 12:22:00
--  
以下是引用huhu在2016/3/4 18:02:00的发言:
Dim Book As New XLS.Book("D:\\计划.xls")
换成D:\\计划.xls也报同样的错

 

不可能报这个错 【未将对象引用设置到对象的实例