| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3266 人关注过本帖
标题:VB运行时错误’91’:未设置对象变量或with block变量
只看楼主 加入收藏
fangbnu
Rank: 1
等 级:新手上路
帖 子:6
专家分:7
注 册:2017-10-25
收藏
 问题点数:0 回复次数:0 
VB运行时错误’91’:未设置对象变量或with block变量
最近用vb编了一个24小时运行定时打开浏览器登录的小软件,在运行的过程中,winxp系统会提示错误:“未设置对象变量或with block变量”,win7会弹出英语提示同样的错误。
搜变了全网也没有答案,有的说是set没用对,有的说是new对象没用对,有的又说得定义全局对象,这些我都用不同的定义方法改了好多遍仍然提示这个错误,经过多次测试发现
这是vb的for each循环语句exit for的一个bug。

借用版主的例子如下:
 Dim IEList     As New ShellWindows
    Dim browser
    Dim Doc
    Dim yn As Boolean
    On Error Resume Next
     '遍历当前地浏览器窗口
    For Each browser In IEList
     '先找IE窗口
    If browser.FullName = IEPATH Then
          '找到需要地IE窗口
          If browser.Document.Title = 窗口标题 Then
              '获得浏览器地文档对象
              Set Doc = browser.Document
               '填写用户名字段
              Doc.body.All(用户标签).Value = Text1.Text
              '填写密码字段
              Doc.body.All(密码标签).Value = Text2.Text
              '提交
              Doc.body.All(提交标签).Click
              yn = True
              Exit For
          End If
        End If
    Next
L1:************

这个代码段中for each循环中exit for语句,如果运行一次这个代码段后退出软件,可能不会出现错误提示,如果24小时运行的软件,就会出现错误提示:“未设置对象变量或with block变量”,
解决的方法是将"exit for"换成“goto L1”就不会提示错误了。
在这个论坛学到了很多知识,所以发在这个论坛希望能让更多的人看到。
搜索更多相关主题的帖子: 对象 变量 提示 错误 For 
2017-11-21 09:52
快速回复:VB运行时错误’91’:未设置对象变量或with block变量
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017591 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved