Set oFso = CreateObject("Scripting.FileSystemObject")
dim path(30)
dim name(30)
'说明书表头有15列:补丁号 问题序号 问题单号/安全问题编号 icare单号 问题现象 问题影响 重现条件 问题原因 解决方案 修改影响 严重级别 关键字 操作注意事项 补丁生效操作类型 业务恢复操作类型
'结果表头有17列:文档名 大包版本 补丁号 问题序号 问题单号/安全问题编号 icare单号 问题现象 问题影响 重现条件 问题原因 解决方案 修改影响 严重级别 关键字 操作注意事项 补丁生效操作类型 业务恢复操作类型
dim searchRes(30,30)
searchRes(0,0) = "文档名"
searchRes(0,1) = "大包版本"
searchRes(0,2) = "补丁号"
searchRes(0,3) = "问题序号"
searchRes(0,4) = "问题单号/安全问题编号"
searchRes(0,5) = "icare单号"
searchRes(0,6) = "问题现象"
searchRes(0,7) = "问题影响"
searchRes(0,8) = "重现条件"
searchRes(0,9) = "问题原因"
searchRes(0,10) = "解决方案"
searchRes(0,11) = "修改影响"
searchRes(0,12) = "严重级别"
searchRes(0,13) = "关键字"
searchRes(0,14) = "操作注意事项"
searchRes(0,15) = "补丁生效操作类型"
searchRes(0,16) = "业务恢复操作类型"
dim dir
dim dts
'搜索到的excel文件数
dim i
i = 0
dim resultNum
resultNum = 0

dir = Inputbox("请输入说明书所在路径:","说明书路径")
dts = Inputbox("请输入所搜索的DTS单号,以DTS+单号的形式输入:(如DTS2019012206086)","DTS单号")

'msgbox "点击确定开始搜索,需要一定的时间"
TreeIt(dir) '获得了路径和表格名称
'msgbox "搜索到路径下有" & i & "个Excel文档"
SearchDTS(path)
'msgbox "OK"
OutputRes(searchRes)
msgbox "搜索到路径下有" & i & "个Excel文档,匹配到" & resultNum & "个结果"

Function TreeIt(sPath)
on error resume next
Set oFso = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFso.GetFolder(sPath)
Set oSubFolders = oFolder.Subfolders
Set oFiles = oFolder.Files
For Each oFile In oFiles
If Right(oFile.Path,3) ="xls" or Right(oFile.Path,4) ="xlsx" Then
path(i) = oFile.path
name(i) = oFile.name
i = i+1
End If
Next
For Each oSubFolder In oSubFolders
TreeIt(oSubFolder.Path)
Next
End Function

Function SearchDTS(sPath)
dim searchResRow,searchResCol
searchResRow = 1
searchResCol = 1
Set oExcel = CreateObject("Excel.Application") '创建Excel应用程序对象
'xlApp.Visible=True

for j = 0 to i-1
Set oWb=oExcel.Workbooks.Open(sPath(j))
'显示打开的Excel工作簿
'oExcel.visible=true
'******************************************
'遍历工作簿的所有工作表
'******************************************
for t = 1 to oWb.sheets.count
set oSheet=oWb.Sheets(t)
'选中并激活工作表
oSheet.Activate
'获取当前Excel表格总共多少行
'Msgbox oSheet.name
RowsCount=oSheet.UsedRange.Rows.Count
for m = 1 to RowsCount
value = oSheet.range("C"&m).Value
if value = dts then
Row = m '获取到数据在第m行
resultNum = resultNum + 1
searchRes(searchResRow,0) = name(j)
searchRes(searchResRow,1) = oSheet.name
'msgbox s
for searchResCol = 2 to 16
searchRes(searchResRow,searchResCol) = oSheet.cells(Row,searchResCol-1).Value
'msgbox oSheet.cells(Row,searchResCol).Value
'msgbox searchRes(searchResRow,searchRowCol)
'msgbox searchRes(searchResRow,searchResCol)
next
searchResRow = searchResRow + 1
exit for
end if
next
next
oWb.close
Next
oExcel.Quit
End Function

Function OutputRes(myarray)
Set oExcel = CreateObject( "Excel.Application" )
oExcel.Visible = True
oExcel.WorkBooks.Add
oExcel.WorkSheets(1).Activate

Set oSheet=oExcel.Workbooks(1).Worksheets(1)
for p = 1 to resultNum+1
for q = 1 to 30
oSheet.cells(p,q).Value = searchRes(p-1,q-1)
next
oSheet.Columns("A:Q").AutoFit()
oSheet.Rows("1:30").Rows.AutoFit()
next
End Function

搜素表脚本.vbs的更多相关文章

  1. 开源搜素引擎:Lucene、Solr、Elasticsearch、Sphinx优劣势比较

    https://blog.csdn.net/belalds/article/details/82667692 开源搜索引擎分类 1.Lucene系搜索引擎,java开发,包括: Lucene Solr ...

  2. windows脚本(VBS)之cmd命令行的妙用

    windows脚本(VBS)之cmd命令行的妙用 (2009-08-06 13:40:55) 转载▼ 标签: 脚本 cmd 命令行 vbs js 简单 公式 windows it 分类: 计算机 脚本 ...

  3. SQL SERVER 生成建表脚本

    /****** Object: StoredProcedure [dbo].[GET_TableScript_MSSQL] Script Date: 06/15/2012 11:59:00 ***** ...

  4. SQL SERVER 生成MYSQL建表脚本

    /****** Object: StoredProcedure [dbo].[GET_TableScript_MYSQL] Script Date: 06/15/2012 13:05:14 ***** ...

  5. SQL SERVER 生成ORACLE建表脚本

    /****** Object: StoredProcedure [dbo].[GET_TableScript_ORACLE] Script Date: 06/15/2012 13:07:16 **** ...

  6. PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大、小写

    原文:PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大.小写 若要将 CDM 中将 Entity的标识符都设为指定的大小写,则可以这么设定: 打开cdm的情况下,进入T ...

  7. HDU 1226 超级密码 (搜素)

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1226 题意简单,本来是一道很简单的搜素题目. 但是有两个bug: 1.M个整数可能有重复的. 2.N可 ...

  8. 生成建表脚本up_CreateTable

    已经很久没用使用这个脚本了,今天用到,并做修改,增加了生成扩展属性功能. Go if object_ID('[up_CreateTable]') is not null Drop Procedure ...

  9. (转)SQL SERVER 生成建表脚本

    https://www.cnblogs.com/champaign/p/3492510.html /****** Object: StoredProcedure [dbo].[GET_TableScr ...

随机推荐

  1. Centos7——NFS(Network File System)服务

    NFS(Network File System)即网络文件系统,允许计算机之间通过网络共享资源:在NFS客户端即可NFS服务端所共享的目录挂载到本地,此时即可像读写本地目录一样读写远程计算机的目录与文 ...

  2. web的几种返回顶部

    回到顶部backtoTop 滚动回到顶部 jquery/js效果还不错!支持现代浏览器包括 ie6.position: absolute;和fixed.两种方法! 一,jQuery方法的backtoT ...

  3. 最新版Xamarin Mono For Android、Monotouch 安装、破解(实时同步更新)

    以上链接如不是最新,以官方为主,官方更新地址如下:http://xamarin.com/installer_assets/v3/Mac/Universal/InstallationManifest.x ...

  4. Java Web 清除缓存

    res.setHeader("Cache-Control", "no-cache"); res.setHeader("Pragma", &q ...

  5. centos安装系统全过程

    --查看系统 lsb_release -a --查看端口 netstat -lnp|grep 80 ps 进程ID #查看进程的详细信息 kill -9 进程ID --查看Java 版本 java - ...

  6. Linux如何快速跳转到文档开头或者末尾

    输入 gg 命令,光标会移动到文档开头 : 输入 G 命令,光标会移动到文档末尾: 另外可以敲击 上下键.Page UP.Page Down 键快速查看文档:

  7. linux下的EDA——VCS使用

    原帖地址:https://blog.csdn.net/moon9999/article/details/75283926 在Linux下对verilogHDL进行功能仿真时非常必要的,下面提供两种常见 ...

  8. gitlab简单使用教程【转】

    平时一直是用git来管理代码仓库,也用过一段时间github,但是github免费版不能建私有仓库.后来转到了bitbucket,后来被atlassian收购后有点不适应,而且在国内访问经常连不上.还 ...

  9. C++异常处理解析: 异常的引发(throw), 捕获(try catch)、异常安全

    前言: C++的异常处理机制是用于将运行时错误检测和错误处理功能分离的一 种机制(符合高内聚低耦合的软件工程设计要求),  这里主要总结一下C++异常处理的基础知识, 包括基本的如何引发异常(使用th ...

  10. CentOS安装mariadb做为mysql的替代品

    mariadb做为mysql的替代品 现在centos的新版本yum包已换成mariadb 安装一些库 yum install gcc gcc-c++ wget net-tools 复制代码 查看SE ...