EXCEL多个工作表写入数组单步调试和直接执行结果不一样

李老师_527093 10月前 176

我有个一个工作簿里面包含:(第1周)、(第2周)、(第3周)、(第4周)4个工作表,我从网页上用表格抓取抓取了一个数组,arrayData,

For i = 0 To 0 step 1

   Mouse.Action(@ui"块级元素<div>_查询","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
    工作表=["(第1周)","(第2周)","(第3周)","(第4周)"]   
    Excel.ClearRange(objExcelWorkBook,工作表[i],"A4:Q40",false,false)
    工作表=["(第1周)","(第2周)","(第3周)","(第4周)"]   
    if i=0
        Excel.WriteRow(objExcelWorkBook,工作表[0],"A3",arrayData,false)
    ElseIf i=1
        Excel.WriteRow(objExcelWorkBook,工作表[1],"A3",arrayData,false)
    ElseIf i=2
        Excel.WriteRow(objExcelWorkBook,工作表[2],"A3",arrayData,false)
    ElseIf i=3
        Excel.WriteRow(objExcelWorkBook,工作表[3],"A3",arrayData,false)
       

    End If

执行结果后,始终不向第1周工作表写数据,而是把第1个数据写到了第二个,把第2个数组写入了第三个表,第一个表空着了

本来之前用的for循环i   Excel.WriteRow(objExcelWorkBook,工作表[i],"A3",arrayData,false) 这样写第一个表也没有内容,但是如果我

用调试单步执行就是正常的可以写入


最新回复 (1)
  • 诺亚方舟 10月前
    2
    第一个表没有内容,可能是Excel刷新问题,进入Excel点其他工作表,再点回来,数据就出现了
返回
发新帖