Tag: 互联网浏览器

如何从Excel中的VBA代码调用IE的“onblur”事件?

情况:我正在使用Excel中的数据填充网页中的文本input框。 当手动input数据并将焦点移到另一个文本框时,会触发“onblur”事件来进行inputvalidation。 期望:当我从Excel中的VBA代码填充相同的文本框时,我希望能够引发'onblur'事件。 问题:如何导致“onblur”事件被执行?

Excel VBA:在Internet Explorer中等待JavaScript执行

我正在尝试在Excel VBA中进行一些网页抓取。 以下是我遇到的代码部分: IE.Navigate URL Do DoEvents Loop While IE.ReadyState <> 4 Or IE.Busy = True Set doc = IE.document 运行这个doc包含仍然有未执行的JavasScript的HTML。 这是尚未执行的脚本的签名: <SCRIPT type=text/javascript> goosSearchPage.Initialize(…)…; </SCRIPT> 我可以通过执行Application.Wait(Now + TimeValue(x))来等待执行,但实际上这并不令人满意,因为脚本执行的时间量取决于input是相当可变的。 有没有办法等待脚本完成评估或直接在doc对象中评估脚本?

Excel 15 VBA无法从Windows 8.1上的IE浏览器接收事件

我在Excel VBA和玩COM库。 在过去我已经沉没了HTMLDocument与VBA代码引发的事件(这是我玩的!)。 这似乎不再起作用。 我已经调查,并得到大量的细节提供。 我钻了OleView的types库,并注释了我认为是在下面的VBA代码。 这可能是一个错误,或者可能是我刚刚搞砸了的东西。 请帮忙。 目标是让doc_ondblclick中的代码运行,也就是获取事件处理程序。 目前,虽然我可以到一个IHTMLDocument接口(感谢StackOverflow对另一个问题的回答); 我无法成功进入发生事件的界面。 更新:此代码在运行Windows XP,Excel 2007,IE8的老式笔记本电脑上运行! 所以我认为这是一个错误! **进一步更新:我怀疑这项技术是太旧了,现在已经被微软在IE11以上遗弃http://msdn.microsoft.com/en-us/library/ie/bg182625%28v=vs.85%29。 aspx#legacyAPIs 。 观察一个突变微软有突变观察员http://msdn.microsoft.com/en-us/library/ie/dn265034%28v=vs.85%29.aspx Option Explicit '* Attribute VB_Name = "DHTMLHandler" '* Environment: '* Windows 8.1 64 bit; '* Excel Microsoft Office Home and Student 2013, Version: 15.0.4551.1512 '* Tools->References indicate following libraries checked '* VBA : Visual Basic For […]

vba即导航多个会话

我使用VBA通过这个网站访问IE,但有一个问题,我不明白。 该网页跟踪是否有多个打开的窗口会话,并在我开始导航到另一个窗口时将其注销。 有没有办法继续会议,并导航回到前一页而不断开? 作为一个侧面说明,该网页不是一个公共领域。 这是我有什么不工作: Dim IE As Object Set IE = New InternetExplorerMedium IE.Visible = True 'code to Login to webpage went here Set doc = IE.document doc.getElementById("txtFileNumber").Value = "12345678" doc.getElementById("cmdSearch").Click Do While .Busy Or .READYSTATE <> 4 DoEvents Loop Dim requested as Object Dim trans As String Set requested = doc.getElementById("TransitLink") If requested.isDisabled […]

Javascript / JQuery导出到Internet Explorer 10以上的Excel

我已经做了大量的研究,并得出结论,它可能不可能导出数据到Excel只使用客户端通过Javascript / JQuery的Internet Explorer 10 +,因为它不支持uri对象。 只使用客户端,没有人提供替代scheme来处理这种情况在IE中? 任何帮助将不胜感激。 谢谢!

在Internet Explorer中将数据从jqgrid导出到Excel

我正在开发一些网页的增强function,我需要一些帮助。 我添加了一个button,当点击将从一个jqgrid的HTML,并将其导出到Excel。 我以为我有这一切工作,然后我做了跨浏览器testing,Internet Explorer不喜欢以下方法: function exportGrid() { var grid = "#diamondpassConferencePreregistrantGrid"; var mya=new Array(); mya=$(grid).getDataIDs(); // Get All IDs var data=$(grid).getRowData(mya[0]); // Get First row to get the labels var colNames=new Array(); var ii=0; for (var i in data){colNames[ii++]=i;} // capture col names var html=""; var columnNames = $(grid).jqGrid('getGridParam','colNames'); for(i=0;i<columnNames.length-1;i++) { html = html + […]

使用VBA在IE中检查单选button,奇怪的行为

我遇到了一个让我难倒的问题。 我的问题如下:我想检查使用VBA的IE单选button。 应该很简单吧? 我检查了这个网站上的解决scheme,我尝试将它们应用于我的场景。 但是,似乎我甚至无法获得元素… 这是HTML源代码片段: <table class="MainTable" width="962px"> <tr> <td class="HistorySections" style="height: 29px; vertical-align: top;"> <span id="lblReportType" class="Panel4" style="display:inline-block;height:15px;width:409px;"> Report Type</span> <table class="MainTable" width="413" style="height: 60px"> <tr> <td style="height: 22px"> <span style="display:inline-block;width:110px;"><input id="optRCV" type="radio" name="RptType" value="optRCV" onclick="javascript:setTimeout('__doPostBack(\'optRCV\',\'\')', 0)" /><label for="optRCV">Receivables</label></span> 从我所能得到的,我的单选button被称为“optRCV”。 我尝试了各种方法来检查单选button,这取决于我在这里学到的东西,但总是失败。 在使用单选button的线路上出现“对象未设置”错误。 所以我试了一下简单的一行来看看有什么不对。 MsgBox IE.document.getElementById("optRCV").ID 从我对VBA和IE的有限的理解,这应该显示Radiobutton的ID,对吧? 我尝试了类似的东西,确保我正确使用它 MsgBox IE.document.getElementsByTagName("TABLE")(0).ID 此行显示一个带有ID的消息框(以及ID是空的,但不会导致错误)。 是否有任何理由,为什么我不能使用它的ID与单选button进行交互? 有趣的是,当我点击网页的顶部并使用查看源代码时,它会显示与当我单击单选button所在的网页部分时不同的源代码。 所以我的想法是,我首先需要告诉IE看在网页的正确部分,但我不知道如何做到这一点。 […]

在VBA中使用InternetExplorer.Application

我正在尝试构build一个简单的macros,使用户能够从Excel表中select所需的行并将其导出到Web服务。 macros应该能够用用户名和密码authentication用户,以确保他有权限上传数据。 当用户select需要的行时,IE打开Web服务的authentication页面。 我目前正在尝试捕获用户login成功到Web服务validation凭据时的URL更改。 有没有更好的方法来validation用户? 我解决了使用网站主login页面进行身份validation,因为我不想通过脚本发送用户名和密码。 以下是我的代码的样子: Call NavigateToURL(–url of login page–) Public Sub NavigateToURL(ByVal argURL As String) Dim objIE As Object Set objIE = CreateObject("InternetExplorer.Application") With objIE .Visible = True .Silent = True .Navigate argURL Do Until objIE.LocationURL() = (–url after successfull log in–) DoEvents Loop If n = (—url after successful log in–) […]

Excel VBA访问Web页面修改值:运行时错误访问被拒绝2147024891(80070005)

我想自动化Excel和Web页面之间的信息复制。 Tx在StackOverflow帮助你,我终于想出了一些在我的站上完美工作的代码。 问题是在同事的任何其他站点上都不行。 更奇怪的是,我得到一个运行时错误,只要代码试图访问页面的属性。 我试图逐行运行代码,以确保它不是一个网页没有完全加载的问题。 所以这是代码的开始,直到它给出:运行时错误访问被拒绝2147024891(80070005) Sub copie_infos_intranet_sur_le_projet() Dim i As Long Dim IE As Object Dim Doc As Object Dim objElement As Object Dim objCollection As Object Dim buttonCollection As Object Dim valeur_heure As Object Dim links As Object lig = ActiveCell.Row num_proj = Cells(lig, 4) ' Create InternetExplorer Object Set IE = CreateObject("InternetExplorer.Application") […]

使用Excel VBA打开并浏览IE

我正在运行64位的Excel,我需要打开32位的IE浏览器,以便在我正在浏览的页面上运行java(我正在做这个工作有一些特定的限制)。 我不能为了我的生活找出如何去工作。 我已经尝试了所有我发现search的代码,但似乎没有为我工作。 当我运行下面的代码时,我得到一个错误 activex组件不能创build对象“错误在这里:Set objShellWindows = objShell.Windows AppURL = "http://www.stackoverflow.com" AppToRun = "iexplore -nomerge" AboutBlankTitle = "Blank Page" LoadingMessage = "Loading stackoverflow…" ErrorMessage = "An error occurred while loading stackoverflow. Please close the Internet Explorer with Blank Page and try again. If the problem continues please contact IT." EmptyTitle = "" 'Launch Internet Explorer […]