只有数组或字典类型才能被索引,求指教

zxh_501552 9天前 80

Dim objWord = ""

Dim A1 = ""
Dim A2 = ""
Dim A3 = ""
Dim A4 = ""
Dim A5 = ""
Dim A6 = ""
Dim arrayRet = ""
Dim iPID = ""
Dim value1 = ""
Dim objJSON = ""
Dim bRet = ""
arrayRet = File.DirFile('''C:\Users\Administrator\Desktop\天气截图''')
objWord = Word.Open('''C:\Users\Administrator\Desktop\天气.docx''',"","",False)
Word.WriteAll(objWord,"")
For Each value In arrayRet
    TracePrint(value)
    bRet = Regex.Test(value,"docx")
    TracePrint(bRet)
    If Not bRet
        A1 = OCR.ImageSpecialOCR(value,"baidu_webImage", "", "", 10000,{})
        
        objJSON = JSON.Parse(A1)
        TracePrint(objJSON['words_result'])
        For Each value1 In objJSON['words_result']
            
            Word.Write(objWord,value1['words'] )
        Next
    Else
        
    End If
    
    Word.Write(objWord,"\n\r" )
Next
Word.Save(objWord)
Word.Close(objWord,True)


最新回复 (9)
  • lhui 9天前
    2
    if not IsNull(arrayRet)
        For Each value In arrayRet

        next
    end if
  • zxh_501552 9天前
    3
    还是报同样的错误呀,是什么问题导致的了?老师在做教程的时候为什么不报错,代码下载下来就报错了。
  • zxh_501552 9天前
    4
    您这边测试没有问题吗?我进去不管用。
  • lhui 9天前
    5

    Dim objWord = ""
    Dim A1 = ""
    Dim A2 = ""
    Dim A3 = ""
    Dim A4 = ""
    Dim A5 = ""
    Dim A6 = ""
    Dim arrayRet = ""
    Dim iPID = ""
    Dim value1 = ""
    Dim objJSON = ""
    Dim bRet = ""
    arrayRet = File.DirFile("C:\\Users\\Administrator\\Desktop\\天气截图")
    objWord = Word.Open("C:\\Users\\Administrator\\Desktop\\天气.docx","","",False)
    Word.WriteAll(objWord,"")
    For Each value In arrayRet
        TracePrint(value)
        bRet = Regex.Test(value,"docx")
        TracePrint(bRet)
        If Not bRet
            A1 = OCR.ImageSpecialOCR(value,"baidu_webImage", "", "", 10000,{})
            
            objJSON = JSON.Parse(A1)
            TracePrint(objJSON['words_result'])
            For Each value1 In objJSON['words_result']
                
                Word.Write(objWord,value1['words'] )
            Next
        Else
            
        End If
        
        Word.Write(objWord,"\n\r" )
    Next
    Word.Save(objWord)
    Word.Close(objWord,True)
    路径这样改不出错阿

    我这边没有天气截图,UIBOT版本也比较旧

  • lhui 9天前
    6

    是 Word.Write(objWord,value1['words'] )报错吗?贴你的所有输出看看

  • zxh_501552 9天前
    7
    [16:33:30]工作路径已切换到 d:\Users\Administrator\Documents\UiBot\creator\Projects\流程111111\
    [16:33:30]流程 流程块.task 开始运行
    [16:33:30]流程块.task 第17行:"C:\Users\Administrator\Desktop\天气截图\1.png"
    [16:33:30]流程块.task 第19行:false
    [16:33:31]流程块.task 第24行:null
    [16:33:31]流程块.task 第25行:只有数组或字典类型才能被遍历
    [16:33:31]流程块.task 运行已结束
  • zxh_501552 9天前
    8
    教程学习
    【零基础学UiBot实战案例】OCR批量识别 第二课  跟着这个教程做的  代码也完全一样 
  • lhui 9天前
    9
    TracePrint(objJSON['words_result'])的结果是[16:33:31]流程块.task 第24行:null
    所以在第25行 For Each value1 In objJSON['words_result']就出错了,因为不能遍历null
    应该是OCR没能得到正确的结果
    要避免遍历非数组,可以试试更改一下
    if IsArray(objJSON['words_result'])
            For Each value1 In objJSON['words_result']
                Word.Write(objWord,value1['words'] )
            Next
    else
        TracePrint("OCR返回的结果为:",objJSON['words_result'])
    end if
  • zxh_501552 9天前
    10
    好的 谢谢了 ,应该是这种情况了
返回
发新帖