以文本方式查看主题

-  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=115023)

--  作者:royyang
--  发布时间:2018/2/27 23:28:00
--  如何直接根据模板生成excel文件后直接显示预览打印?
Dim Book As New XLS.Book(ProjectPath & "Attachments\\客供辅料进仓单.xls")
Dim file As String = ProjectPath & "Reports\\客供辅料进仓单.xls"
Book.Build() \'生成细节区
Book.Save(file) \'保存工作簿

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = 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.PrintPreview
App.Visible=False
\'wb.save
wb.close
App.Quit

这个代码一运行老是先显示文件已打开,如何解决?只想按进仓单模板生成后预览打印就可以了,不用进excel程序。

--  作者:有点甜
--  发布时间:2018/2/28 9:40:00
--  

改成这样

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = 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
wb.saved = true
App.Visible = True
Ws.PrintPreview
wb.close
App.Quit

 

不能不打开excel的,必须打开才能预览