当前位置:软件学习 > Word >>

多文档一起打印 设置一点通

通常,一般情况下,我们打印文档都是直接从应用程序中打印,例如WORD,这个方法对于单个文件打印比较方便,但是对于文秘等经常需要打印大批量文件的工作人员,如果仍然用WORD一个一个进行打印就比较麻烦了。

  应我公司文管中心的要求,我制作了一个多文档打印程序,方便了文秘人员,现介绍如下:

  运行VB,新建一个应用程序工程,在Form中添加一个DriveListBox 控件、DirListBox 控件和FileListBox 控件,分别取名为:Drive1、Dir1和File1。设置File1的Pattern 属性为*.doc,设置FileListBox 控件中显示的文件名为DOC文档。

  在Form_Load()事件中添加一行代码:Drive1.Drive = "c:",用来设置运行时所选择的驱动器。

  在Drive1_Change()事件中添加一行代码:Dir1.Path = Drive1.Drive,这样当驱动器改变时,使目录路径随之改变。

  同样在Dir1_Change()事件中添加一行代码:File1.Path = Dir1.Path,当目录改变时,使文件列表同时改变。

  因为一般来说,文档都会保存在统一的目录下,所以没有使用CommonDialog 控件进行文件名选择,使操作更为简单方便。

  在Form中添加一个CommandButton 控件取名为Print,用来进行打印操作。

  A、在Command1_Click()中添加如下代码:

Dim i As Integer
Dim strfile As String
Dim word As Object
Set word = CreateObject("word.Basic")
word.appshow
For i = 0 To File1.ListCount - 1
If Right(Dir1.Path, 1) <> "" Then
strfile = Dir1.Path + "" + File1.List(i)
Else
strfile = Dir1.Path + File1.List(i)
End If
word.fileopen strfile
word.fileprint
word.fileclose
Next
word.appclose
Set word = Nothing

  B、代码说明:定义一个对象变量word;

  使用CreateObject创建一个WORD对象并赋值给word;

  以FileListBox 控件的列表部分项目的个数作为最大数进行循环打印

  判断目录名的最后一个字母是否为“”,如果不是,则添加“"进行修正通过目录名和文件名获得完整的文件名

  使用word对象的fileopen方法打开文件

  使用word对象的fileprint方法进行文件打印

  使用word对象的fileclose方法关闭文件
  
最后调用word对象的appclose方法关闭word程序,以及释放对象资源Set word = Nothing。

  这样,我们就很简单的实现了多文档的打印,希望对文秘人员有所帮助。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,