同上所述,如excel Dim xlapp As Excel.Application Dim xlbook As Excel.Workbook Dim xlSheet As Excel.WorksheetSet xlapp = CreateObject("Excel.Application") Set xlbook = xlapp.Workbooks.Open(App.Path & "\book1.xlt") Set xlSheet = xlapp.Worksheets(1)xlSheet.PrintPreview False '这样就会跳过打开窗口直接打印了 xlSheet.PrintOut xlapp.Application.Visible = False '加这个更保险吧?自己多试试 xlapp.Application.Quit
参考; Private Sub命令0_Click() Dim WkWord As New Word.Application Dim WkDoc As Word.Document Set WkDoc = WkWord.Application.Documents.Open("c:\my documents\文件.doc") WkDoc.PrintOut False '在printout后面加上FLASE,會等打完之后再關閉 WkDoc.Close WkWord.Quit Set WkDoc = Nothing End Sub
你直接在资源管理器中试试,在.xls 文件上点右键,就有一个“打印”菜单。
选择打印的话,资源管理器也会调用 excel 将 xls 文件打开,然后自动打印,然后再关闭。只不过过程很快,一晃而过。
*****************************************************************************
欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码)
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
Dim xlapp As Excel.Application
Dim xlbook As Excel.Workbook
Dim xlSheet As Excel.WorksheetSet xlapp = CreateObject("Excel.Application")
Set xlbook = xlapp.Workbooks.Open(App.Path & "\book1.xlt")
Set xlSheet = xlapp.Worksheets(1)xlSheet.PrintPreview False '这样就会跳过打开窗口直接打印了
xlSheet.PrintOut
xlapp.Application.Visible = False '加这个更保险吧?自己多试试
xlapp.Application.Quit
我也是这么想的,如果不打开文件要想打印确实是不太现实(但方法应该有),但是假设现在我不能确定客户端会打开什么文件,包括已知的和未知的格式,当然已知的如word\excel\pdf等等还如办,如果是一些比较偏门的格式那就不太方便了,而且如果文件比较大的话,光是打开就要好长一段时间。
不知道各位有没有用过“Microsoft Office Document Image Writer”,那是虚拟打印机,类似PDF Creator,可直接把一个文件输出为像图片一样的格式,不知道实现的原理是什么?用VB自己能做得出来吗?
还有个问题,就是在输出为文件时,总是提示填写保存的位置,不知道在程序里能不能填个默认的路径,这样客户端就不用作任何操作了
Private Sub命令0_Click()
Dim WkWord As New Word.Application
Dim WkDoc As Word.Document
Set WkDoc = WkWord.Application.Documents.Open("c:\my documents\文件.doc")
WkDoc.PrintOut False '在printout后面加上FLASE,會等打完之后再關閉
WkDoc.Close
WkWord.Quit
Set WkDoc = Nothing
End Sub