??通常,一般情況下,我們打印文檔都是直接從應用程序中打印,例如WORD,這個方法對于單個文件打印比較方便,但是對于文秘等經(jīng)常需要打印大批量文件的工作人員,如果仍然用WORD一個一個進行打印就比較麻煩了。 應我公司文管中心的要求,我制作了一個多文檔打印程序,方便了文秘人員,現(xiàn)介紹如下: ??運行VB,新建一個應用程序工程,在Form中添加一個DriveListBox 控件、DirListBox 控件和FileListBox 控件,分別取名為:Drive1、Dir1和File1。設置File1的Pattern 屬性為*.doc,設置FileListBox 控件中顯示的文件名為DOC文檔。 ??在Form_Load()事件中添加一行代碼:Drive1.Drive = "c:\",用來設置運行時所選擇的驅(qū)動器。 ??在Drive1_Change()事件中添加一行代碼:Dir1.Path = Drive1.Drive,這樣當驅(qū)動器改變時,使目錄路徑隨之改變。 ??同樣在Dir1_Change()事件中添加一行代碼:File1.Path = Dir1.Path,當目錄改變時,使文件列表同時改變。 ??因為一般來說,文檔都會保存在統(tǒng)一的目錄下,所以沒有使用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創(chuàng)建一個WORD對象并賦值給word; ??以FileListBox 控件的列表部分項目的個數(shù)作為最大數(shù)進行循環(huán)打印 ?? 判斷目錄名的最后一個字母是否為“\”,如果不是,則添加“\"進行修正通過目錄名和文件名獲得完整的文件名 ??使用word對象的fileopen方法打開文件 ??使用word對象的fileprint方法進行文件打印 ??使用word對象的fileclose方法關閉文件 ??最后調(diào)用word對象的appclose方法關閉word程序,以及釋放對象資源Set word = Nothing。 ??這樣,我們就很簡單的實現(xiàn)了多文檔的打印,希望對文秘人員有所幫助。 |
|站長郵箱|小黑屋|手機版|Office中國/Access中國
( 粵ICP備10043721號-1 )
GMT+8, 2025-7-17 02:20 , Processed in 0.058563 second(s), 16 queries .
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.