mpf5566 发表于 2014-6-13 19:11:28

【已解决】Excel对象.cells.find语句返回值问题

本帖最后由 mpf5566 于 2014-6-16 11:32 编辑

Global $excel = objCreate("excel.application")
$oexcel.visible = False
with $excel
Dim $kwords=["1","2","3","4"]
$ewb=.workbooks.open(@ScriptDir\txt.xlsx)
$sheets=.worksheets.count
for $i=1 to $sheets
      for $w=0 to UBound($kwords)-1
          .worksheets($i).cells.find($kwords[$w]).interior.color = 255
   local $jishu=.worksheets($i).cells.find($kwords[$w]).activate;查询VBA帮助此语句返回的值可以为TRUE
if $jishu="true" then            ;当cells.find能查询到数据$kwords["1","2","3","4"] 元素时计数
      $pipeishu=$pipeishu+1
endif
next
next请问.worksheets($i).cells.find($kwords[$w]).activate 查询出来的结果并不是和数组$kwrods[]匹配!!!得到的$jishu返回值有无怎么样能统计用cells.find语句查询数据$kwords在打开的excel表格中的数量?????

mpf5566 发表于 2014-6-13 19:14:06

回复 1# mpf5566

后面的问题有点乱,是这样子的.worksheets($i).cells.find($kwords[$w]).activate调试的时候可以得到true返回值,但是返回的true并不是每次cells.find查询匹配的元素。。。请问要怎么样能统计数组$kwords[]在打开的excel表格内出现的次数。。。。{:face (394):}

kevinch 发表于 2014-6-13 20:11:39

用isobj判断返回的对象,如果没查找到,而用了activate方法会报错

mpf5566 发表于 2014-6-16 11:32:26

回复 3# kevinch

kevinch老师晚回你了,现在可以了,之前我定义数组的时候下标直接写100然后造成循环查找的时候有空格匹配的数量有出入。。。。多谢你的解答{:face (88):}

ipmitool 发表于 2014-7-10 13:53:37

支持一下支持一下
页: [1]
查看完整版本: 【已解决】Excel对象.cells.find语句返回值问题