以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [讨论] 如何按EXCEL模板打印以后自动关闭?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=1424)

--  作者:wcs
--  发布时间:2008/12/17 21:41:00
--  [讨论] 如何按EXCEL模板打印以后自动关闭?
我设计好了EXCEL打印模板文件和目标文件,可以正常执行。

只是菜单中的命令只是打开了目标文件,需要自已再点击EXCEL中的“打印”才能将EXCEL报表打印出来。

于是,我试了一下

Process 中对EXCEL文件的 print方法,也就是:
 

Dim Proc As New Process
Proc.File = "C:\\目标文件.xls"
Proc.Verb = "Print" \'指定动作

Proc.Start()

结果发现,这样只是纯粹打印“目标文件”或“模板文件”,不能执行模板文件中设置好了的表达式等。

现在我希望:按“模板文件”中设置好了的表达式打印,并且发送打印机以后自动关闭“目标文件”。


--  作者:狐狸爸爸
--  发布时间:2008/12/17 21:58:00
--  
Dim Book As New XLS.Book(ProjectPath & "Attachments\\名称1.xls")
Book.Build()
Book.Save(ProjectPath & "Reports\\名称2.xls")
Dim Proc As New Process
Proc.File = "c:\\reports\\test.xls"
Proc.Start()

--  作者:wcs
--  发布时间:2008/12/17 21:59:00
--  

我提出这个问题的原因是:

1、我在系统菜单的代码中找不出  “打印输出--EXCEL报表--直接打印”的代码,一片空白啊!

那么我该如何在其他的地方用这个功能呢?无法移植啊!

2、而且,每一次使用这个系统菜单命令,都要求目标文件是关闭的----也就是说我每一次打印完毕了以后要手动关闭,才能进行下一次打印,这很不方便的。


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2008-12-17 22:04:37编辑过]

--  作者:狐狸爸爸
--  发布时间:2008/12/18 8:55:00
--  
Dim Book As New XLS.Book(ProjectPath & "Attachments\\模板.xls")
Book.Build()
Book.Save(ProjectPath & "Reports\\模板.xls")
Dim Proc As New Process
Proc.File = "c:\\reports\\test.xls"
Proc.Verb= "Print"
Proc.Start()

--  作者:wcs
--  发布时间:2008/12/18 20:09:00
--  

谢谢,这个问题已解决

希望将这个直接打印并关闭的代码写入帮助

因为,大部分情况下,用户是在EXCEL中调好的页面设置,一步到位地直接输出打印----打印固定格式的表格。


--  作者:狐狸爸爸
--  发布时间:2008/12/18 22:39:00
--  
我都是从帮助中复制的。
--  作者:wcs
--  发布时间:2008/12/18 23:20:00
--  
哈哈,那就是我看帮助太快了!

这个代码里,关键是build
[此贴子已经被作者于2008-12-18 23:20:00编辑过]

--  作者:hejfen
--  发布时间:2009/2/15 10:41:00
--  

学习中

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

--  作者:woodiy
--  发布时间:2009/2/15 10:43:00
--  
其实这个也有不好的地方,就是选择打印机问题,用如上代码,没有办法实现打印机选择.
--  作者:183966998
--  发布时间:2017/6/30 13:31:00
--  
您好,请问您怎么写得代码,可以直接打印模板?不用每次打开模板文件在点打印,谢谢