以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  根据列表自动打印设置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1811)

--  作者:woodiy
--  发布时间:2009/2/14 10:53:00
--  根据列表自动打印设置

图片点击可在新窗口打开查看此主题相关图片如下:未标题-2.jpg
图片点击可在新窗口打开查看

能否按照片中,快递公司列的内容,实现 相关打印,而不用像我目前那样建很多的按键Chick控件

其中申通打印的代码如下:

Dim Book As New XLS.Book(ProjectPath & "Attachments\\申通快递模板.xls")
Book.Build()
Book.Save(ProjectPath & "Reports\\申通快递.xls")
Dim Proc As New Process
Proc.File = "reports\\申通快递.xls"
Proc.Verb= "Print"
Proc.Start()


其它顺丰快递,雅仕快递的也类似.谢谢!

--  作者:blackzhu
--  发布时间:2009/2/14 11:03:00
--  
以下是引用woodiy在2009-2-14 10:53:00的发言:

图片点击可在新窗口打开查看此主题相关图片如下:未标题-2.jpg
图片点击可在新窗口打开查看

能否按照片中,快递公司列的内容,实现 相关打印,而不用像我目前那样建很多的按键Chick控件

其中申通打印的代码如下:

Dim Book As New XLS.Book(ProjectPath & "Attachments\\申通快递模板.xls")
Book.Build()
Book.Save(ProjectPath & "Reports\\申通快递.xls")
Dim Proc As New Process
Proc.File = "reports\\申通快递.xls"
Proc.Verb= "Print"
Proc.Start()


其它顺丰快递,雅仕快递的也类似.谢谢!

  我也想这样搞,估计不行.因为你用的模板不同,这样一来,要根据你的列表项目取模板了,我看不太可能.


--  作者:woodiy
--  发布时间:2009/2/14 11:08:00
--  
那不是很麻烦,也很难看.希望有高手啊!
--  作者:菜鸟foxtable
--  发布时间:2009/2/14 11:11:00
--  
既然类似何不用变量?
--  作者:don
--  发布时间:2009/2/14 11:12:00
--  

这样试试。
Dim T1,T2 As String
Dim Da As DataTable = DataTables("某表名")

for Each T1 in Da.GetComboListString("快递公司").split("|")
     T2 = ProjectPath & "Attachments\\" & T1 & ".xls"
     Dim Book As New XLS.Book(T2)
     Book.Build()
     Book.Save(T2)
     Dim Proc As New Process
     Proc.File = "reports \\ " & T1 & ".xls"
     Proc.Verb= "Print"
     Proc.Start()
Next

请自行把 "reports \\ " 中的空格去掉(论坛的Bug,显示不正常)

 

[此贴子已经被作者于2009-2-14 11:15:03编辑过]

--  作者:blackzhu
--  发布时间:2009/2/14 13:07:00
--  
以下是引用don在2009-2-14 11:12:00的发言:

这样试试。
Dim T1,T2 As String
Dim Da As DataTable = DataTables("某表名")

for Each T1 in Da.GetComboListString("快递公司").split("|")
     T2 = ProjectPath & "Attachments\\" & T1 & ".xls"
     Dim Book As New XLS.Book(T2)
     Book.Build()
     Book.Save(T2)
     Dim Proc As New Process
     Proc.File = "reports \\ " & T1 & ".xls"
     Proc.Verb= "Print"
     Proc.Start()
Next

请自行把 "reports \\ " 中的空格去掉(论坛的Bug,显示不正常)

 

[此贴子已经被作者于2009-2-14 11:15:03编辑过]

 don老大,我认为这个有一些问题,他是一张表,有N多个报表.从组合框里选择报表名,然后按打印按钮就可以打出所需要的报表.这个按钮的公式里的报表名字就是要随着组合框里报表名生成.不然,要做很多个按钮解决.


--  作者:blackzhu
--  发布时间:2009/2/14 13:08:00
--  
DON老大,你的代码能不能给一个解释?
--  作者:woodiy
--  发布时间:2009/2/14 13:30:00
--  
是的,测试好像有点问题!
--  作者:don
--  发布时间:2009/2/14 13:59:00
--  
以下是引用blackzhu在2009-2-14 13:08:00的发言:
DON老大,你的代码能不能给一个解释?

也许我会错意:上面的是列印快递公司列所有报表.

这样?
Dim T As String 
T = e.Form.Controls("ComboBox1").Value
T = ProjectPath & "Attachments\\" & T & "模板.xls"
Dim Book As New XLS.Book(T)
Book.Build()
Book.Save(ProjectPath & "Reports\\ " & T & ".xls")
Dim Proc As New Process
Proc.File = "reports\\ " & T & ".xls"
Proc.Verb= "Print"
Proc.Start()

[此贴子已经被作者于2009-2-14 14:02:21编辑过]

--  作者:blackzhu
--  发布时间:2009/2/14 16:31:00
--  
以下是引用don在2009-2-14 13:59:00的发言:

也许我会错意:上面的是列印快递公司列所有报表.

这样?
Dim T As String 
T = e.Form.Controls("ComboBox1").Value
T = ProjectPath & "Attachments\\" & T & "模板.xls"
Dim Book As New XLS.Book(T)
Book.Build()
Book.Save(ProjectPath & "Reports\\ " & T & ".xls")
Dim Proc As New Process
Proc.File = "reports\\ " & T & ".xls"
Proc.Verb= "Print"
Proc.Start()

[此贴子已经被作者于2009-2-14 14:02:21编辑过]

  不行,狐爸设计的代码本身就是指定模板,并且打开这个指定模板的.老大我想这样你看看怎么做.如果我有申通和顺丰两个模板,用复选框或者单选框选择然后打印.我发个表给你,你看一下.

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:顺丰标签.table