注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

奕克

爱家人爱工作爱生活

 
 
 

日志

 
 

用vbs批量打印当前目录及子文件夹WORD文档  

2010-05-21 13:28:27|  分类: 技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
       最近搞毕业设计评语,有n多的表格要打印,一个个打印太麻烦,就写了vbs脚本,能打印当前目录下所有
doc文件,并递归打印其子目录,还能对不需要打印的文档进行过滤。
       用记事本新建一个txt文件,拷入如下代码后,另存时选择类型为“所有文件”,文件名为printdoc.vbs,或者其它名字,当扩展名必须为vbs。代码如下
 
filterstr=inputbox("请输入不要打印的文件,用逗号分隔。如2,1表示文件名包含2或者1的不打印,输入*表示打印所有:")
filtered=false
printme=true
if filterstr<>"*" and filterstr<>""  then
   filtered=true
   filterlist=split(filterstr,",")
end if
if filterstr<>"" then
  Set WshShell = WScript.CreateObject("WScript.Shell") 
  printsub(WshShell.CurrentDirectory)
  msgbox "完工啦!"
end if
Sub printsub(byval curdc)
  Set FSO =CreateObject("Scripting.FileSystemObject")
  Set WD = CreateObject("Word.Application")
  wd.visible=false
  Set FD = FSO.GetFolder(curdc)
  Set FN = FD.Files
  For Each F1 In FN
    if filtered then
        printme=true
        for each fl in filterlist
         if Instr(LCase(Left(F1.Name,len(F1.Name)-3)),fl)<>0 then             
             printme=false
         end if
        next
    end if
    If UCase(Right(F1.Name, 3)) = "DOC" and printme Then
        set doc=WD.Documents.Open(FD.Path & "\" & F1.Name)
        doc.PrintOut
        doc.close
        'WD.Documents.Close
        set doc=nothing
    End If
  Next
  wd.visible=true
  WD.Quit
  Set SubFD=FD.SubFolders
  For Each folder in SubFD
    printsub(folder.Path)
  Next
  Set SubFD=nothing
  set fn=nothing
  set fd=nothing
  Set WD = Nothing
  Set FSO = Nothing
End Sub 
        直接双击vbs程序运行,弹出一对话框,如果要打印所有文件,则输入“*”号并确定,如果有不想打印的文件,输入关键字并用逗号分隔,比如“递交,2.1“表示不打印所有文件名中包含”递交“两字或者”2.1”两字的文件。逗号输入用英文方式。程序能打印所有子目录及子子目录,希望大家用的愉快!
  评论这张
 
阅读(382)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017