以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 报表事件 Afterbuild 的应用 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154433) |
-- 作者:edisontsui -- 发布时间:2020/9/15 8:12:00 -- 报表事件 Afterbuild 的应用 我在数据表“钣金开料单”里面有一个excel报表“开料单”,在数据表“钣金出货数量”里面有一个excel报表“二维码”。我想在报表事件的 Afterbuild 里面写点代码, 以便在生成报表“开料单”之前,能够自动先生成报表“二维码”。但是不知道这些代码怎样写。谢谢。 |
-- 作者:有点蓝 -- 发布时间:2020/9/15 8:52:00 -- 参考:http://www.foxtable.com/webhelp/topics/1145.htm |
-- 作者:edisontsui -- 发布时间:2020/9/15 14:00:00 -- Dim Book As New XLS.Book(ProjectPath & "Attachments\\出库单.xls") Dim fl As String = ProjectPath & "Reports\\出库单.xls" Book.Build() \'生成细节区 Book.Sheets(0).Rows.RemoveAt(0) \'删除第一行,Excel报表的第一行通常是标记行 Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start() 我只要将上述代码修改excel表格名称之后放入 afterbuild 事件里面就行了吗?我试了,但是没效果。
|
-- 作者:有点蓝 -- 发布时间:2020/9/15 14:08:00 -- 改为自己的模板名称啊 If e.Book.TempLate = "开料单" Dim Book As New XLS.Book(ProjectPath & "Attachments\\二维码.xls") Dim fl As String = ProjectPath & "Reports\\出库单.xls" Book.Build() \'生成细节区 Book.Sheets(0).Rows.RemoveAt(0) \'删除第一行,Excel报表的第一行通常是标记行 Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start() End If |
-- 作者:edisontsui -- 发布时间:2020/9/15 19:36:00 -- 我按照你的方法设置代码了,那个二维码的档案还是不会出来。 |
-- 作者:有点蓝 -- 发布时间:2020/9/15 20:40:00 -- 报表已经生成了,只是没有打开而已。报表事件里无法调用Process 或者自己做按钮直接生成2个报表吧 Dim Book As New XLS.Book(ProjectPath & "Attachments\\开料单.xls") Dim fl As String = ProjectPath & "Reports\\开料单.xls" Book.Build() \'生成细节区 Book.Sheets(0).Rows.RemoveAt(0) \'删除第一行,Excel报表的第一行通常是标记行 Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start() Book = New XLS.Book(ProjectPath & "Attachments\\二维码.xls") fl = ProjectPath & "Reports\\二维码.xls" Book.Build() \'生成细节区 Book.Sheets(0).Rows.RemoveAt(0) \'删除第一行,Excel报表的第一行通常是标记行 Book.Save(fl) \'保存工作簿 Dim Proc2 As New Process \'打开工作簿 Proc2.File = fl Proc2.Start() |