VBScript实现Word和Excel的打印
提醒:本页面将不再更新、维护或者支持,文章、评论所叙述内容存在时效性,涉及技术细节或者软件使用方面不保证能够完全有效可操作,请谨慎参考!
只要是安装了Microsoft Office的Word和Excel电脑,微软都为我们提供了Word和Excel的COM组件,方便我们以COM对象访问的形式操纵Word或Excel文件,今天介绍个小功能,那就是打印。
首先是Word的打印,基本上的流程就是创建Word.Application对象,然后调用Documents.Open的方式打开doc文件,然后执行PrintOut方法打印文件,然后Close关闭,最后退出并销毁Word.Application对象。
Option Explicit
Const MSWORD_FILENAME = "Word文件路径"
Sub VBMain()
Dim wdApp, Doc
Set wdApp = WSH.CreateObject("Word.Application")
wdApp.Visible = False
Set Doc = wdApp.Documents.Open(MSWORD_FILENAME)
Doc.PrintOut
Doc.Close
Set Doc = Nothing
wdApp.Visible = True
wdApp.Quit
Set wdApp = Nothing
End Sub
Call VBMain()
WSH.Quit()
最后介绍下Excel的打印,同样的道理,创建对象,打开要打印的工作簿,选择要打印的工作表,打印,然后关闭工作表,退出并销毁对象。同样的一些操作可以参考Excel的VBA手册 《Microsoft Excel Visual Basic参考》 。
Option Explicit
Const MSEXCEL_FILENAME = "Excel文件路径"
Sub VBMain()
Dim xlApp, WorkBooks, Sheet
Set xlApp = WSH.CreateObject("Excel.Application")
xlApp.Visible = False
Set WorkBooks = xlApp.Workbooks.Open(MSEXCEL_FILENAME)
Set Sheet = WorkBooks.Worksheets(1) '打开第一个工作表
' 也可以打开上次保存时打开的活动工作表
' Set Sheet = WorkBooks.ActiveSheet 打开活动的工作表
Sheet.PrintOut
Set Sheet = Nothing
WorkBooks.Close
Set WorkBooks = Nothing
xlApp.Quit
Set xlApp = Nothing
End Sub
Call VBMain()
WSH.Quit()
对于想批量打印的朋友可以参考我这篇文章 《采用插件机制的批量文件扫描及进程处理工具》 。