以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]WebBrowser控件打印问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=46581)

--  作者:maomaoxw
--  发布时间:2014/2/25 22:39:00
--  [求助]WebBrowser控件打印问题

在窗口中加入一个WebBrowser控件和Button控件,窗口的AfterLoad事件代码设置为:

Dim tmp As String = ProjectPath & "Attachments\\资料卡.xls"
Dim
 rpt As String = ProjectPath & "Reports\\资料卡.xls"
Dim
 Book As New XLS.Book(tmp)
Book.Build() 
Book.Save(rpt)
e.Form.Controls(
"WebBrowser1"
).AddRess = rpt

按钮的Click事件代码设置为:

e.Form.Controls("WebBrowser1").Print()

这样一打开窗口,就会自动在窗口的WebBrowser控件显示生成的Excel报表,单击按钮则可以打印此报表。



上面是帮助中的代码,我的问题是上面的打印操作会弹出打印对话框,如果我想实现按钮的Click事件直接打印,不用弹出打印对话框,代码应该如何编写?求教各位了!


--  作者:有点甜
--  发布时间:2014/2/25 23:10:00
--  
 你可以用这段代码

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook
    wb = App.WorkBooks.Open(file)
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
    With Ws.PageSetup
        .PaperSize = MSExcel.XlPaperSize.xlPaperA4   \'纸张大小
        .CenterHorizontally = True   \'页面水平居中
        .CenterVertically = True \'页面垂直居中
        .Zoom = False \'以下设置将缩印在一页内
        .FitToPagesWide = 1  \'按照1页的宽度打印
        .FitToPagesTall = 1  \'按照1页的高度打印
    End With
    \'App.Visible = True
    Ws.PrintOut
    wb.save
    wb.close
    App.Quit