Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4806|回复: 16

[已解决]运行时出现“对象不支持该属性或方”错误?请老师们帮助!

[复制链接]
发表于 2013-1-25 11:18 | 显示全部楼层 |阅读模式
各样老师:在下面的代码中,怎么在红色代码处老是出现“运行时错误‘438’,对象不支持该属性或方法”或“对象块变量未设置”等错误?应怎样更正请老师们帮助者了!谢谢!
       代码运行的要求是将网上的数据复制或下载到表中
Sub LOADIE()   '在代码的常见的处理情况
Set iea = CreateObject("InternetExplorer.Application")
iea.Visible = True
iea.Navigate "http://www.pinble.com/Lottery.htm"  '←打开某个网页,要一定时间,但代码会往下执行
Do Until iea.ReadyState = 4 '检查网页是否加载完毕(4表示完全加载)
DoEvents                '循环中交回工作权限给系统,以免“软死机”
Loop
Set doc = iea.Document
With iea
'For i = 1 To .Document.All.Length - 1
'If UCase(.Document.All(i).tagName) = "七星彩" Then
'If .Document.All(i).HREF = "七星彩" Then
        Set r = .Document.All.tags("option")
        For i = 0 To r.Length
            If .r(i).innerText = "七星彩" Then
.r(i).innerText.Click
Exit Sub
End If
'End If
Next i
End With
End Sub
最佳答案
2013-1-25 18:23
  1. Sub LOADIE()   '在代码的常见的处理情况
  2.     Set iea = CreateObject("InternetExplorer.Application")
  3.     iea.Visible = True
  4.     iea.Navigate "http://www.pinble.com/Lottery.htm"  '←打开某个网页,要一定时间,但代码会往下执行
  5.     Do Until iea.ReadyState = 4    '检查网页是否加载完毕(4表示完全加载)
  6.         DoEvents                '循环中交回工作权限给系统,以免“软死机”
  7.     Loop
  8.     'Set doc = iea.Document
  9.     With iea
  10.         Set r = .Document.all.tags("a")
  11.         For i = 1 To r.Length
  12.             If r(i).innerText = "七星彩" Then
  13.                 r(i).Click
  14.                 Exit Sub
  15.             End If
  16.             'End If
  17.         Next i
  18.     End With
  19. End Sub
复制代码
发表于 2013-1-25 12:38 | 显示全部楼层
回复

使用道具 举报

发表于 2013-1-25 12:39 | 显示全部楼层
这个网页里没有一个单选按钮嘛。
肯定要报错啦。
回复

使用道具 举报

发表于 2013-1-25 12:41 | 显示全部楼层
你看我换成查找TD元素,就能找到150个
QQ截图20130125124123.jpg
回复

使用道具 举报

 楼主| 发表于 2013-1-25 14:45 | 显示全部楼层
hwc2ycy 发表于 2013-1-25 12:41
你看我换成查找TD元素,就能找到150个

谢谢hwc2ycy的帮助!但我想点击网页中的“七星彩”链接文本,该怎样查找和点击呢?请老师继续帮助给予一答案,在此先谢谢了!
回复

使用道具 举报

发表于 2013-1-25 15:13 | 显示全部楼层
本帖最后由 hwc2ycy 于 2013-1-25 15:16 编辑
  1. Sub LOADIE()   '在代码的常见的处理情况
  2.     Set iea = CreateObject("InternetExplorer.Application")
  3.     iea.Visible = True
  4.     iea.Navigate "http://www.pinble.com/Lottery.htm"  '←打开某个网页,要一定时间,但代码会往下执行
  5.     Do Until iea.ReadyState = 4    '检查网页是否加载完毕(4表示完全加载)
  6.         DoEvents                '循环中交回工作权限给系统,以免“软死机”
  7.     Loop
  8.     ‘Set doc = iea.Document
  9.     With iea
  10.         Set r = .Document.all.tags("a")
  11.         For i = 1 To r.Length
  12.             If r(i).innerText = "七星彩" Then
  13.                 r(i).Click
  14.                 Exit Sub
  15.             End If
  16.             'End If
  17.         Next i
  18.     End With
  19. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2013-1-25 17:31 | 显示全部楼层
本帖最后由 gwfzh 于 2013-1-25 17:34 编辑


点击链接文本.zip (9.22 KB, 下载次数: 4)


谢谢hwc2ycy 老师:试了下,没有点击“七星彩”链接,查看各期的数据,不知是怎么回事?
回复

使用道具 举报

发表于 2013-1-25 18:21 | 显示全部楼层
上面的有个'打错了。
回复

使用道具 举报

发表于 2013-1-25 18:22 | 显示全部楼层
七星彩.gif
回复

使用道具 举报

发表于 2013-1-25 18:23 | 显示全部楼层    本楼为最佳答案   
  1. Sub LOADIE()   '在代码的常见的处理情况
  2.     Set iea = CreateObject("InternetExplorer.Application")
  3.     iea.Visible = True
  4.     iea.Navigate "http://www.pinble.com/Lottery.htm"  '←打开某个网页,要一定时间,但代码会往下执行
  5.     Do Until iea.ReadyState = 4    '检查网页是否加载完毕(4表示完全加载)
  6.         DoEvents                '循环中交回工作权限给系统,以免“软死机”
  7.     Loop
  8.     'Set doc = iea.Document
  9.     With iea
  10.         Set r = .Document.all.tags("a")
  11.         For i = 1 To r.Length
  12.             If r(i).innerText = "七星彩" Then
  13.                 r(i).Click
  14.                 Exit Sub
  15.             End If
  16.             'End If
  17.         Next i
  18.     End With
  19. End Sub
复制代码

评分

参与人数 1 +3 收起 理由
gwfzh + 3 很给力!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 15:34 , Processed in 0.198955 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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