某窗口的按钮click事件中,首先用此方法生成以年份为名的文件夹存放以代号为名的excel表格:
Dim Book As New XLS.Book(ProjectPath & "Attachments\机械管理使用情况表.xls")
Dim dh As WinForm.TextBox = e.Form.Controls("TB代号")
Dim d1 As Date = Date.Today
Dim fl As String = ProjectPath & d1.year & "\" & dh.value & "机械管理使用情况表.xls"
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
再次打开窗口时afterload事件,希望窗口中的table能读取该地址的excel表格:
Dim dh As WinForm.TextBox = e.Form.Controls("TB代号")
Dim d1 As Date = Date.Today
Dim Book As New XLS.Book(ProjectPath & d1.year & "\" & dh.value & "机械管理使用情况表.xls" )
’原本直接引用某表地址时可运行,改为该代码后就出现:
.NET Framework 版本:2.0.50727.7905
Foxtable 版本:2016.7.29.1
错误所在事件:窗口,机械管理记录导入窗口,AfterLoad
详细错误信息:
打开存储文件失败。
Dim Sheet As XLS.Sheet = Book.Sheets("机械使用情况表")
Tables("机械使用情况表").StopRedraw()
'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"机械使用情况1","机械使用情况2","机械使用情况3","机械使用情况4","机械使用情况5","机械充电情况1","机械充电情况2","机械充电情况3","机械充电情况4","机械充电情况5","保养维护情况1","保养维护情况2","保养维护情况3"}
'注意下面的循环变量从6开始,而不是从0开始,因为Excel表的前6行是标题
For n As Integer = 6 To Sheet.Rows.Count -1
Dim r As Row = Tables("机械使用情况表").AddNew()
For m As Integer = 0 To nms.Length - 1
If Tables("机械使用情况表").Cols(nms(m)).IsBoolean Then
r(nms(m)) = IIF(Sheet(n,m).Value=1,True ,False)
Else
r(nms(m)) = Sheet(n,m).Value
End If
Next
Next
Tables("机械使用情况表").ResumeRedraw()
不能这么引用吗???请老师解答