Foxtable(狐表)用户栏目专家坐堂 → 根据列表自动打印设置


  共有26287人关注过本帖树形打印复制链接

主题:根据列表自动打印设置

帅哥哟,离线,有人找我吗?
blackzhu
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By: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()


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

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


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By: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
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2009/2/14 13:08:00 [显示全部帖子]

DON老大,你的代码能不能给一个解释?

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By: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


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2009/2/14 16:35:00 [显示全部帖子]

不好意思,我忘了模板了,顺丰我做好的,申通的模板是空的.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:顺丰标签.rar


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2009/2/15 10:06:00 [显示全部帖子]

以下是引用woodiy在2009-2-14 20:20:00的发言:
我觉得用列表项目,来实现  顺丰标签,申通标签  的比较好,特别是标签较多时.

  测试非常好.但DON老大,我也觉得用组合框选择余地比较大,再给个代码我们测试一下.谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2009/2/16 8:14:00 [显示全部帖子]

以下是引用don在2009-2-15 21:13:00的发言:

用ComboBox更简单:

Dim T,T1,T2 As String
T =  e.Form.Controls("ComboBox1").value
T1 = ProjectPath & "Attachments\" & T & ".xls"
T2 = ProjectPath & "Reports\ "& T & ".xls"

if T isnot Nothing then
   If "顺丰标签,申通标签".Indexof(T) > -1 then
       Dim Book As New XLS.Book(T1)
       Book.Build()
       Book.Save(T2)
       Dim Proc As New Process
       Proc.File = T2
       Proc.Verb= "Print"
       Proc.Start()
   End if
End if

  收藏,谢谢,好好学习,天天向上.


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2009/2/16 8:16:00 [显示全部帖子]

如果能加上代码解释就更加好了,以便学习.

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2009/2/16 8:21:00 [显示全部帖子]

以下是引用don在2009-2-15 21:13:00的发言:

用ComboBox更简单:

Dim T,T1,T2 As String
T =  e.Form.Controls("ComboBox1").value
T1 = ProjectPath & "Attachments\" & T & ".xls"
T2 = ProjectPath & "Reports\ "& T & ".xls"

if T isnot Nothing then
   If "顺丰标签,申通标签".Indexof(T) > -1 then
       Dim Book As New XLS.Book(T1)
       Book.Build()
       Book.Save(T2)
       Dim Proc As New Process
       Proc.File = T2
       Proc.Verb= "Print"
       Proc.Start()
   End if
End if

厉害,测试非常爽!


 回到顶部