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


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

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

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2009/2/14 18:27:00 [显示全部帖子]

易表也可做,狐表岂不能乎(只做了单选框)
注:1,为简化代码,Excel报表模板文件名应和单选框名称一致;
    2,需于同一目录下另建文件夹『Reports』,打印目录文件放于此(看Excel报表)
Dim Tz(),T,T1,T2 As String
Tz = "顺丰标签,申通标签".Split(",")
For each T in Tz
   if e.Form.Controls(T).Checked = True Then
         Exit For
   End if         
Next

T1 = ProjectPath & "Attachments\" & T & ".xls"
T2 = ProjectPath & "Reports\ "& T & ".xls"
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()

 自行去掉"Reports\ "中的空格

[此贴子已经被作者于2009-2-14 18:29:26编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By: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


 回到顶部