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

奕克

爱家人爱工作爱生活

 
 
 

日志

 
 

vba办公自动化之-自动找找谁没交材料  

2012-09-28 22:57:43|  分类: office |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
        工作中经常遇到这样的情况,一大堆人交了文件过来,有excel名单,但是不知道谁没交,文件名是固定的,比如包含名单中的人名。一个个找太麻烦,我工作中催学生交实验报告就是如此。
       下面的vbs程序能搞定这个任务。非常简单,用vbs写的好处是,你给人一个exe,别人未必敢用,但是如果黑盒变为白盒,人家能看到源码,稍有程序猿素养的人就能知道这程序是安全无毒的了。
       针对这样的目录:其中的名单文件是如图的excel表格,点击找未交,程序遍历vbs文件所在目录下所有文件,根据名单excel的第一工作表第一列查找。如果找到了包含该名字的文件,此单元格加红。名单中找不到,把该文件放到文件夹的“找不到”目录下。最终名单中还是黑色的单元格就是没交材料的人。。。

vba办公自动化之-自动找找谁没交材料 - wucccsk - 天秤的存在与虚无博客
 
vba办公自动化之-自动找找谁没交材料 - wucccsk - 天秤的存在与虚无博客

vbs源代码如下,新建文本文档,拷入如下代码,另存为扩展名为.vbs的文件,双击即可运行,代码示例在(http://cloud.189.cn/t/A7NJjy

strpath=left(wscript.scriptfullname,len(wscript.scriptfullname)-len(wscript.scriptname))
set xlapp= CreateObject("Excel.application")
Set md = xlapp.Workbooks.Open(strpath & "\名单.xls")
Set fso = CreateObject("Scripting.filesystemobject")
Set myFolder = fso.GetFolder(strpath)
Set myfiles = myFolder.Files
For Each myfile In myfiles
    if  myfile.Name<>wscript.scriptname and myfile.name<>"名单.xls" then 
    find=false
    for j=1 to md.Worksheets(1).usedrange.rows.count
      If InStr(myfile.name,md.Worksheets(1).cells(j,1).value) Then
         find=true
         md.Worksheets(1).cells(j,1).font.color=RGB(255,0,0)
         exit for
      end if
    next
    if not find then
       If Not fso.FolderExists(strpath & "\找不到") Then
            fso.CreateFolder strpath & "找不到"
       End If
       fso.movefile strpath & myfile.name,strpath & "\找不到\"&myfile.name
    end If
    End if
next
md.save
md.close
set md=nothing
set xlapp=nothing
Set myFolder = Nothing
Set myfiles = Nothing
set fso=nothing
msgbox "完工!"
 
  评论这张
 
阅读(191)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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