【VBA研究】方法quit作用于IWebBrowser2失败怎么办

作者:iamlaosong

用VBA编程实现自动读取网页数据,在读取过程中关闭网页时遇到这样一个错误:“ 方法quit作用IWebBrowser2失败”,无法执行quit方法,但其它属性没有问题,百思未得其解,其源代码如下:

Sub login3()
    Dim ie1 As Object

    lineno = [A65536].End(xlUp).Row      '行数
    For row1 = 2 To lineno
        ems_id = Trim(Cells(row1, 1))
        Set ie1 = CreateObject("InternetExplorer.Application")
        ie1.Visible = True
        ie1.navigate "http://10.3.10.83/ems/newsystem/thesecond/ttq/ttqMailquery.jsp"
        Do Until ie1.Readystate = 4
        DoEvents
        Loop
        ie1.document.Forms(0).All("mailNum").Value = ems_id
        ie1.document.Forms(0).submit
        If MsgBox("第" & row1 - 1 & "个邮件查询完毕,继续...", vbOKCancel, "AHEMS:iamlaosong") = vbCancel Then Exit Sub
        ie1.Quit    ' 此句报错

        'Debug.Print ie1.document.DocumentElement.outerHTML      ' 显示网页源代码
        'Debug.Print ie1.document.body.innertext                  ' 显示网页文本信息
        'rethtml = ie1.document.DocumentElement.outerHTML

    Next row1

End Sub

网上搜了一下,也有人提出类似问题,但没有找到问题所在,有人说可以正常执行,有人说不行,也有人说有时行,有时不行,仔细思考,怀疑是否是浏览器的原因,出问题时,打开的是360浏览器,换成IE也许就行了,于是,将默认浏览器换成IE8,再运行程序,问题不再出现。

结论:该方法可以关闭IE浏览器,其它浏览器是否可行,需要测试。

时间: 2024-08-30 04:48:19

【VBA研究】方法quit作用于IWebBrowser2失败怎么办的相关文章

android camera获取matrix作用于canvas的研究

网上查了一下相关的文章,认为自己看懂了,但是实际测试时和网上说的并不一样(后来研究发现,那个人写的是错的!!!),所以,在此提醒大家,要勇于质疑,勇于提出问题. 首先说明camera类,这个类位于package android.graphics 包下,用于图像3D变换,通过旋转.偏移等方式,最终通过getMatrix(Matrix)方法拿到矩阵,作用于canvas,使得画面呈现出立体效果. camera的源码没什么看的,这里列举他的主要方法: public native void save();

【VBA研究】VBA做了个简单的试题生成工具

作者:iamlasong 单位对新上岗的员工进行培训,培训结束后,需要进行考试,需要一个简单的考试系统,让新员工既可以自己练习,也可以进行测试,为此,我们做了一个题库,员工可以自己生成一套考题,测试自己的掌握程度,也可以集中起来进行考试,测试培训效果. 系统数据库很简单,主要有两个表,一个是题库,一个是成绩. create table EMSAPP_TEST_QUESTION ( type                  CHAR(1), id                    NUMBE

【VBA研究】VBA通过HTTP协议实现邮件轨迹跟踪查询

作者:iamlasong 1.接口说明 通过互联网訪问,运单跟踪信息查询接口基于HTTP协议开发,接口为RESTFul风格的Web Service,信息交互过程为用户按我方提供的web service地址进行调用,我方接到调用请求后,为用户返回JSON格式组织的数据信息.用户根据约定的接口规范对数据进行解析. 接口调用为HTTP请求的方式,每一次由用户发起的HTTP请求,须要设置验证信息,详细方法是,在HTTP Header部分添加version及authenticate属性,属性值在联调測试之

【VBA研究】VBA产生不重复随机数

作者:iamlasong VBA编程实现不重复随机数输出.VBA里的随机函数是RND,在工作表中随机函数是RAND,一字之差,可要记好了.RND取值范围是[0,1),意思是0和1之间的一个随机数,包含0,但不包含1. 1.用法 语法:Rnd[(number)] 如果 number 的值是 Randomize 生成 小于 0 ,每次都使用 number 作为随机数种子得到的相同结果. 大于 0 ,以上一个随机数为种子产生下一个随机数. 等于 0 ,产生与最近生成的随机数相同的随机数. 省略, 以上

【VBA研究】用VBA取得EXCEL随意列有效行数

作者:iamlaosong 用VBA对Excel文件进行处理的时候,keyword段的列号编程时往往是不知道的.须要通过參数设定才干知道,因此.我们编程的时候,就不能用这种语句取有效行数: lineno = [B65536].End(xlUp).Row          '从下至上找有效行数 上述语句中的列名"B"假设是变量.能够用字符串连接的方式实现,即: pos_ems = "C" lineno = Range(pos_ems & "65536

机器学习理论研究方法探讨

本文译自:http://www.alexirpan.com/2016/07/17/ml-sleep.html,原文标题<The Machine Learning Casino>,译文供您参考. 一.机器学习理论研究 机器学习是一种能使计算机半自主地对数据进行分析,并从中学习经验的算法. 机器学习理论的研究听上去就好像做这么一件事,让我们的研究人员去深刻探索,提高计算机学习数据集的效率的方法. 事实上,机器学习理论的研究可以在我们的生活的每时每刻找到影子.就好像你在不断的进行一场赌博,只不过你的

【VBA研究】怎样将单元格数据赋给数组

作者:iamlaosong 将工作表中的数据赋给数组或者将数组的数据赋给工作表,一般有两种.一种是循环的方法,一个一个的传,这样的方法一般用于须要对每一个数据特别处理的场合,还有一种是一次性用赋值语句传,就速度来说,另外一种方法要快得多.看以下例程: Sub tt()     Dim arr1(240000, 4)     Dim arr2()          lineno = [A1048576].End(xlUp).Row      '行数     '循环给数组赋值.数组myarr必须先定

【VBA研究】工作表自己主动筛选模式检測

作者:iamlaosong 用VBA程序处理Excel数据文件.用户的数据文件有时处于自己主动筛选模式,往往导致数据处理不对.为此,须要检測工作表是否处于该模式,假设是,则去掉自己主动筛选.语句例如以下: If ActiveSheet.AutoFilterMode = True Then Selection.AutoFilter 这个语句一般仅仅用于去掉自己主动筛选,尽管Selection.AutoFilter也能够加上自己主动筛选,但筛选位置却可能在当前单元格处,所以要注意.加自己主动筛选前,

【VBA研究】统计Excel 工作表数量

作者:iamlaosong VBA编程中如果对每一个工作表循环处理,就需要知道工作表的数量,常见的方法如下: 1.当前工作簿中工作表数量 num = ThisWorkbook.Sheets.Count 这当前工作簿就是VBA程序所在的工作簿,那么其它工作簿中工作表的数量如何统计呢? 2.活动工作簿中工作表数量 Windows(datfile).Activate num = ActiveWorkbook.Sheets.Count 3.知道文件名的工作簿中工作表数量 datfile = Cells(