找回密码
 加入
搜索
查看: 7620|回复: 4

[系统综合] 【已解决】Excel对象.cells.find语句返回值问题

[复制链接]
发表于 2014-6-13 19:11:28 | 显示全部楼层 |阅读模式
本帖最后由 mpf5566 于 2014-6-16 11:32 编辑
Global $excel = objCreate("excel.application")
$oexcel.visible = False
with $excel 
Dim $kwords[100]=["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表格中的数量?????
 楼主| 发表于 2014-6-13 19:14:06 | 显示全部楼层
回复 1# mpf5566

后面的问题有点乱,是这样子的.worksheets($i).cells.find($kwords[$w]).activate调试的时候可以得到true返回值,但是返回的true并不是每次cells.find查询匹配的元素。。。请问要怎么样能统计数组$kwords[]在打开的excel表格内出现的次数。。。。
发表于 2014-6-13 20:11:39 | 显示全部楼层
用isobj判断返回的对象,如果没查找到,而用了activate方法会报错
 楼主| 发表于 2014-6-16 11:32:26 | 显示全部楼层
回复 3# kevinch

kevinch老师晚回你了,现在可以了,之前我定义数组的时候下标直接写100然后造成循环查找的时候有空格匹配的数量有出入。。。。多谢你的解答
发表于 2014-7-10 13:53:37 | 显示全部楼层
支持一下支持一下
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 16:18 , Processed in 0.074008 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表