返回列表 发帖

[问题求助] VBS如何查找mdb文件里指定列中含有指定字符串的行

求个VBS用于查找db1.mdb,要求,比如输入“云人二厶”等1-5个汉字时,查找“详细拆分”列,同时含有“云人二厶”这五个汉字的行,也说是说“云人二厶”这五个汉字在“详细拆分”列也可能顺序不一样,比如“人二云厶”或者中间可能有其他汉字或字母,把找到的行后四列内容都显示出来,不知说清楚了没有,先谢了

Do
    Input = InputBox("输入:")
    If IsEmpty(Input) Then WScript.Quit
Loop while Input = ""
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible = false
oExcel.WorkBooks.Open("d:\test\db1.mdb")
oExcel.WorkSheets(1).Activate
row = oExcel.ActiveSheet.UsedRange.Rows.Count
For i = 2 to row
    flag = true
    For j = 1 to Len(Input)
        If InStr(oExcel.Cells(i,4), Mid(Input,j,1)) = 0 Then
            flag = false : Exit For
        End if
    Next
    If flag Then
        s = ""
        For j = 2 to 5
            s = s & oExcel.Cells(i,j) & vbTab
        Next
        MsgBox s
    End If
Next
If s = "" Then MsgBox "Not Found"
oExcel.ActiveWorkBook.Saved = true
oExcel.WorkBooks.Close
oExcel.QuitCOPY

TOP

谢谢,可是出现如下错误
脚本:D:、TEST、1.VBS
行:15
字符:1
错误:EXCEL无法直接打开ACCESS MDB 文件。如果将ACCESS数据导入到EXCEL中,可使用“获取外部数据”命令,......
代码:800A03EC
源:MICROSOFT EXCELL
是不是我的电脑有什么问题?

TOP

回复 3# DDDYJQ1


    我用的是ms-office2007,没有安装Access,测试顶楼附件没有问题

TOP

本帖最后由 CrLf 于 2014-5-12 17:40 编辑

也许可以用 ADODB + spl 语句,参考:http://bbs.bathome.net/redirect. ... 8&fromuid=30406

TOP

谢谢巡查,可惜我也看不懂,是不是DB1.MDB改用用EXCEL就不会出问题,再帮我看看,我传个EXCEL上来,代码要如何改?先谢了

TOP

回复 6# DDDYJQ1


    第8行的路径和文件名改成真实路径和文件名,第12行的2改成1

TOP

谢了,可以用,多谢了

TOP

返回列表