Foxtable(狐表)用户栏目专家坐堂 → 如何实现定时指定时间自动打印


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

主题:如何实现定时指定时间自动打印

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


加好友 发短信
等级:三尾狐 帖子:691 积分:6061 威望:0 精华:0 注册:2018/5/10 9:05:00
如何实现定时指定时间自动打印  发帖心情 Post By:2019/10/9 19:29:00 [只看该作者]

假如想把自己当天的订单通过定时任务  自动打印出来  代码如何实现  感谢指导

Dim 
Book As New XLS.Book(ProjectPath & "Attachments\订单.xls"'打开模板
Dim 
fl As String = ProjectPath & "Reports\订单.xls"
Dim 
Sheet As XLS.Sheet = Book.Sheets(0)
Sheet
(3,9).Value = "<日期 = # " & Date.Today & "#>"  '写入打印条件
Book.Build() 
'生成报表
Book.Save(fl) 

Dim 
Proc As New Process 
Proc.File = fl
Proc.Start()

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/10 8:44:00 [只看该作者]

把打印代码放到计划管理:http://www.foxtable.com/webhelp/topics/0657.htm

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


加好友 发短信
等级:三尾狐 帖子:691 积分:6061 威望:0 精华:0 注册:2018/5/10 9:05:00
  发帖心情 Post By:2019/10/10 10:45:00 [只看该作者]

能否就上面的实例代码指导一下,,非常感谢!

计划管理怕写的代码不合理,导致整个系统崩溃一直不敢使用,期待指导

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/10 11:07:00 [只看该作者]

把下面代码去掉,剩下的都放到计划管理即可。

Dim Proc As New Process 
Proc.File = fl
Proc.Start()

至于是否合理,自己测试过才知道。你们从来都没有测试数据库和测试项目的吗?永远都是直接在生产系统里直接更改和测试?!!

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


加好友 发短信
等级:三尾狐 帖子:691 积分:6061 威望:0 精华:0 注册:2018/5/10 9:05:00
  发帖心情 Post By:2019/10/10 12:16:00 [只看该作者]

我的目的是制作一个打印服务器直,接指定本服务器安装的打印机,按照代码要求时间(每天固定8:00)自动下发打印命令,自动打印出来的想法
好像去掉那些代码就是定时保存文件而已,跟我的想法还是有点偏差,再请指导一下思路和方法  谢谢


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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/10 13:46:00 [只看该作者]

Dim Book As New XLS.Book(ProjectPath & "Attachments\订单.xls") '打开模板
Dim fl As String = ProjectPath & "Reports\订单.xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(3,9).Value = "<日期 = # " & Date.Today & "#>"  '写入打印条件
Book.Build() '生成报表
Book.Save(fl) 
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Ws.PrintOut(Preview:=False)    '直接打印;http://www.foxtable.com/webhelp/topics/2121.htm
App.Quit

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


加好友 发短信
等级:三尾狐 帖子:691 积分:6061 威望:0 精华:0 注册:2018/5/10 9:05:00
  发帖心情 Post By:2019/10/10 14:39:00 [只看该作者]

Dim Book As New XLS.Book(ProjectPath & "Attachments\订单.xls") '打开模板
Dim fl As String = ProjectPath & "Reports\订单.xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(3,9).Value = "<日期 = # " & Date.Today & "#>"  '写入打印条件
Book.Build() '生成报表
Book.Save(fl) 
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Ws.PrintOut(Preview:=False)    '直接打印;http://www.foxtable.com/webhelp/topics/2121.htm
App.Quit

感谢老师 指导  刚刚报APP错 我根据实例加了行代码 

我这里还有最后一个问题  假如电脑装了几个打印机 如何指定非默认打印机打印呢   这台电脑计划仅执行打印任务,需要把资料打印到多个网络共享打印机,只是默认打印机还是解决不了我的需求,感谢!

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/10 14:47:00 [只看该作者]

  • PrintOut

    直接打印。如,Ws.PrintOut

    该方法还可通过设置有关参数来控制打印,如下面的代码就是打印第1-10页,打印份数为3,打印前先预览,指定的打印机为"pdfFactory Pro":

    Ws.PrintOut(From:=1,To:=10,Copies:=3,Preview:=True,ActivePrinter:="pdfFactory Pro")

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


加好友 发短信
等级:三尾狐 帖子:691 积分:6061 威望:0 精华:0 注册:2018/5/10 9:05:00
  发帖心情 Post By:2019/10/10 15:36:00 [只看该作者]

static ptime As Date
If ptime <> Date.Today AndAlso Format(Date.Now, "HH:mm") >= "15:25" AndAlso Format(Date.Now, "HH:mm") <= "15:30" Then
    MyTimers("计划1").Enabled = False
    Dim Book As New XLS.Book(ProjectPath & "Attachments\订单.xls") '打开模板
    Dim fl As String = ProjectPath & "Reports\订单.xls"
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Sheet(3,9).Value = "<日期 = # " & Date.Today & "#>"  '写入打印条件
    Book.Build() '生成报表
    Book.Save(fl)
    Dim App As New MSExcel.Application
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
    Ws.PrintOut(Preview:=False,ActivePrinter:="RICOH Aficio MP 7001")    '直接打印;http://www.foxtable.com/webhelp/topics/2121.htm
    'Ws.PrintOut(Preview:=True,ActivePrinter:="RICOH Aficio MP 7001")
    App.Quit
    ptime = Date.Today
    MyTimers("计划1").Enabled = True
End If

帮忙看看这个代码放到计划管理没有问题吧  刚刚狐表崩溃了   打印任务成功下发
间隔:3000
[此贴子已经被作者于2019/10/10 15:38:32编辑过]

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


加好友 发短信
等级:三尾狐 帖子:691 积分:6061 威望:0 精华:0 注册:2018/5/10 9:05:00
  发帖心情 Post By:2019/10/10 15:38:00 [只看该作者]

而且这样设置会改变电脑默认的打印机的
    'Ws.PrintOut(Preview:=True,ActivePrinter:="RICOH Aficio MP 7001")

 回到顶部
总数 16 1 2 下一页