以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]Excel 报表打印  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94454)

--  作者:zcgmxf
--  发布时间:2016/12/23 19:57:00
--  [求助]Excel 报表打印
老师,如何修改下面的代码才能不出现生成的报表而直接打印?谢谢!

        Dim Book As New XLS.Book(ProjectPath & "Attachments\\一类疫苗出入库记录.xls")
        Dim fl As String = ProjectPath & "Reports\\一类疫苗出入库记录.xls"
        Book.Build() \'生成细节区
        Book.Save(fl) \'保存工作簿
        Dim Proc As New Process \'打开工作簿
        Proc.File = fl
        Dim obj As object = CreateObject("WScript.Network") ‘指定默认打印机’
        obj.SetDefaultPrinter(p)
        Proc.Verb = "Print" 
        Proc.Start()

--  作者:有点蓝
--  发布时间:2016/12/23 21:12:00
--  
参考:


Dim Book As XLS.Book

book = New XLS.Book(ProjectPath & "Attachments\\出库单.xls")
Dim fl As String = ProjectPath & "Reports\\出库单.xls"
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
App.Quit


--  作者:zcgmxf
--  发布时间:2016/12/26 22:04:00
--  

有点蓝老师,您给的代码实现了想要的功能,但是Excel进程好像没退出,再次打印总是出现如图提示,不知什么原因。我用的office 2003.


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20161226212348.png
图片点击可在新窗口打开查看

 

[此贴子已经被作者于2016/12/26 22:07:40编辑过]

--  作者:有点蓝
--  发布时间:2016/12/26 22:27:00
--  
Dim Book As XLS.Book

book = New XLS.Book(ProjectPath & "Attachments\\出库单.xls")
Dim fl As String = ProjectPath & "Reports\\出库单.xls"
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
wb.Close
App.Quit

--  作者:zcgmxf
--  发布时间:2016/12/26 22:31:00
--  

我之前就试过,不起作用。


--  作者:有点蓝
--  发布时间:2016/12/26 22:33:00
--  
我测试没有问题,Excel组件的销毁是有一点时间的,有时10,20秒的,连续打印太快就没有办法的。
--  作者:zcgmxf
--  发布时间:2016/12/26 22:36:00
--  
哦。不影响使用,也许是我的office 版本问题。谢谢!