以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 合格证打印 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=104239) |
-- 作者:实话实说 -- 发布时间:2017/7/26 8:37:00 -- 合格证打印 选择组合框中的合格证模板,然后打印: 1、打印【打印】表中合格证模板列=组合框中选定的模板的行并且[打印]= False,打印后再[打印]= True。 2、打印到Attachments文件夹中的模版文件[合格证模板.xls]中与组合框中同名的表中。 下面类似的代码是用多个按钮实现的,并且用了多个文件。我想用上面的方案,试了没成功,请老师帮助写出打印按钮的代码。 Tables("打印").Filter = "[合格证模板] = \'3C盘装\' And [打印] = False " If Tables("打印").Rows.Count = 0 Then \'如果是一个空表 MessageBox.Show("没有要打印的数据!", "提示") Return \'那么返回 Else \'选定筛选的表 With Tables("打印") .Select(0,0, .Rows.Count -1, .Cols.Count -1) End With End If Dim Book As New XLS.Book(ProjectPath & "Attachments\\3C盘装.xls") Book.Build() Book.Save(ProjectPath & "Reports\\3C盘装.xls") Dim Proc As New Process Proc.File = ProjectPath & "Reports\\3C盘装.xls" Proc.Start() For Each r As Row In Tables("打印").Rows r("打印") = True Next
|
-- 作者:有点甜 -- 发布时间:2017/7/26 8:55:00 -- Dim cbx As WinForm.ComboBox = e.Form.Controls("合格证模板") Tables("打印").Filter = "[合格证模板] = \'" & cbx.text & "\' And [打印] = False " If Tables("打印").Rows.Count = 0 Then \'如果是一个空表 MessageBox.Show("没有要打印的数据!", "提示") Return \'那么返回 Else \'选定筛选的表 With Tables("打印") .Select(0,0, .Rows.Count -1, .Cols.Count -1) End With End If Dim Book As New XLS.Book(ProjectPath & "images/Attachments\\合格证模板.xls") Book.Build() Book.Save(ProjectPath & "Reports\\" & cbx.text & ".xls") Dim Proc As New Process Proc.File = ProjectPath & "Reports\\" & cbx.text & ".xls" Proc.Start() For Each r As Row In Tables("打印").Rows r("打印") = True Next |
-- 作者:实话实说 -- 发布时间:2017/7/26 9:10:00 -- 问题:打印到了合格证模板.xls文件中所有的表,并不是组合框指定的表 Attachments\\合格证模板.xls"各表模板是不同的
[此贴子已经被作者于2017/7/26 9:18:01编辑过]
|
-- 作者:有点甜 -- 发布时间:2017/7/26 9:43:00 -- 以下是引用实话实说在2017/7/26 9:10:00的发言:
问题:打印到了合格证模板.xls文件中所有的表,并不是组合框指定的表 Attachments\\合格证模板.xls"各表模板是不同的
[此贴子已经被作者于2017/7/26 9:18:01编辑过]
不要把多个表放在一个xls里面,请做多个xls文件,一个xls对应一个模板。这样利于管理和编写代码。 |