设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

多文档打印

1970-1-1 08:00| 发布者: 未知| 查看: 1217| 评论: 0

??通常,一般情况下,我们打印文档都是直接从应用程序中打印,例如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,用来进行打印操作。


??在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

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

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

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

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

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

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

??使用word对象的fileclose方法关闭文件

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

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

最新评论

相关分类

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-10 06:01 , Processed in 0.061217 second(s), 16 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部