搜素表脚本.vbs
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的更多相关文章
- 开源搜素引擎:Lucene、Solr、Elasticsearch、Sphinx优劣势比较
https://blog.csdn.net/belalds/article/details/82667692 开源搜索引擎分类 1.Lucene系搜索引擎,java开发,包括: Lucene Solr ...
- windows脚本(VBS)之cmd命令行的妙用
windows脚本(VBS)之cmd命令行的妙用 (2009-08-06 13:40:55) 转载▼ 标签: 脚本 cmd 命令行 vbs js 简单 公式 windows it 分类: 计算机 脚本 ...
- SQL SERVER 生成建表脚本
/****** Object: StoredProcedure [dbo].[GET_TableScript_MSSQL] Script Date: 06/15/2012 11:59:00 ***** ...
- SQL SERVER 生成MYSQL建表脚本
/****** Object: StoredProcedure [dbo].[GET_TableScript_MYSQL] Script Date: 06/15/2012 13:05:14 ***** ...
- SQL SERVER 生成ORACLE建表脚本
/****** Object: StoredProcedure [dbo].[GET_TableScript_ORACLE] Script Date: 06/15/2012 13:07:16 **** ...
- PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大、小写
原文:PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大.小写 若要将 CDM 中将 Entity的标识符都设为指定的大小写,则可以这么设定: 打开cdm的情况下,进入T ...
- HDU 1226 超级密码 (搜素)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1226 题意简单,本来是一道很简单的搜素题目. 但是有两个bug: 1.M个整数可能有重复的. 2.N可 ...
- 生成建表脚本up_CreateTable
已经很久没用使用这个脚本了,今天用到,并做修改,增加了生成扩展属性功能. Go if object_ID('[up_CreateTable]') is not null Drop Procedure ...
- (转)SQL SERVER 生成建表脚本
https://www.cnblogs.com/champaign/p/3492510.html /****** Object: StoredProcedure [dbo].[GET_TableScr ...
随机推荐
- 深入理解JVM(10)——Class文件结构
什么是“JVM”的无关性 Java具有平台无关性,也就是任何操作系统都能够运行Java代码,之所以能够实现这一点,是因为Java运行在虚拟机上,不同的操作系统都有各自的Java虚拟机,从而实现一次编译 ...
- js小题目(持续更新)
总是感觉之前做过的问题很久没碰的话就会忘掉,于是打算专门开一个记录小题目的随笔当题典用. 目录 五种主要数据类型进行值复制 数组去重 数组去重并计数 实现clone()方法,对五种主要数据类型进行值复 ...
- linux之测试硬盘速度篇
作业三:dd命令测试硬盘速度 [root@localhost 桌面]# dd if=/dev/sdc2 of=/a.txt bs=2M count=2 记录了0+1 的读入 记录了0+1 的写出 10 ...
- Servlet(11)—客户端跳转和服务端跳转
客户端跳转: 1.链接跳转:< a href="">< /a > 2.表单提交< form>< /form> 3.Response. ...
- HTML 回顾整理
<html>标签:定义HTML文档 <body>标签:定义文档主体 <h1> - <h6> 标签:定义HTML标题 <hr> 标签:创建水平 ...
- WPF之几何图形Geometry
在WPF的DrawingContext对象中,提供了基本的绘制椭圆和矩形的API:DrawEllipse和DrawRectangle.但是,这些是远远不够用的,我们在日常应用中,更多的是使用DrawG ...
- tfs2015 生成与发布 配置
先来看一张微软官方的自动生成与发布架构图,以便了解很多概念间的关系 1.安装好TFS2015(可以参考TFS2010的安装过程,尤其是账号权限相关),我自己是从TFS2010一路升级上来的(TFS20 ...
- mssql f_Split
mssql可以如下CREATE FUNCTION [dbo].[f_Split] ( @val varchar(max),@Splits varchar(100))RETURNS @Table TAB ...
- boost::filesystem经常使用使用方法具体解释
提示: filesystem库提供了两个头文件,一个是<boost/filesystem.hpp>,这个头文件包括基本的库内容.它提供了对文件系统的重要操作. 同一时候它定义了一个类pat ...
- JAVA与C#的区别
Java和C#都是编程的语言,它们是两个不同方向的两种语言 相同点: 他们都是面向对象的语言,也就是说,它们都能实现面向对象的思想(封装,继承,多态) 区别: 1.c#中的命名空间是namespace ...