zoukankan      html  css  js  c++  java
  • 搜素表脚本.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

  • 相关阅读:
    pat00-自测5. Shuffling Machine (20)
    Spiral Matrix
    Search in Rotated Sorted Array II
    Search in Rotated Sorted Array
    Best Time to Buy and Sell Stock II
    4Sum
    3Sum Closest
    3Sum
    MySQL存储过程、函数和游标
    Word Ladder
  • 原文地址:https://www.cnblogs.com/dpf-learn/p/10480848.html
Copyright © 2011-2022 走看看