Tag: internet explorer

当用Excel打开HTML文件时,IE中的“无法读取文件”错误,但是当首先“保存”

这是我在这个论坛的第一个问题,所以请原谅任何新手的错误。 在.NET应用程序中,我有.Net代码,它根据从数据库中提取的数据dynamic创build一个html表格,然后将其stream式传输到用户的web浏览器,以在Excel中打开。 这在Chrome中运行得很好。 只要用户在点击“下载”链接后select“保存”选项(在打开文件之前保存文件),而不是“打开”选项 – 它试图读取文件stream向客户端。 但在IE 11中,如果他们select“打开”选项,他们会从Excel中得到有关文件格式的警告(因为它是一个html文件 – 如果先保存,同样的事情发生,这是可以接受的),但当他们点击“是”打开时,他们会看到“无法读取文件”。 错误信息。 在一个案例中,我能够通过replace实例来解决这个问题,如果数据中的“&”用“and”来代替。 但是,在其他情况下,我无法确定可能导致问题的特定数据值。 而且,只要用户首先保存,文件就可以正常打开。 (事实上​​,当我在开发环境中点击“打开”而不是“保存”时,它甚至可以正常工作,但是当我从部署代码的testing服务器上执行时,却不能正常工作。) 所以,我正在寻找一种方法来删除/replacehtml表格中“td”元素中显示的所有有问题的数据,或者,更好的方法是使“Open”选项具有与“保存“选项。 再次,只要文件被保存,html表格内容就会打开。 html表是由C#类生成的,但是stream式传输文件的页面是在VB.Net中。 我不认为C#代码会有用(但如果有人认为它可以部分发布),但这里是相关部分的VB代码: Response.Clear() Response.ClearContent() Response.ClearHeaders() Dim htmlTable As String '[snip – populate htmlTable with data from database] Dim fileName As String = "Whatever.xls" Response.Buffer = false Response.ContentType = "application/vnd.ms-excel" Response.AppendHeader("Content-Disposition", "attachment; filename=""" & fileName & """") Response.AddHeader("Content-Length", ASCIIEncoding.ASCII.GetByteCount(htmlTable).ToString()) […]

使用Visual Basic从Internet Explorer中提取类中的值

有了这段代码,我想从网站检索一个特定标签的值,并将其放在我的电子表格中: Sub get_tit() Dim wb As Object Dim doc As Object Dim sURL As String Dim lastrow As Long lastrow = Sheet1.Cells(Rows.Count, "A").End(xlUp).Row Set wb = CreateObject("internetExplorer.Application") wb.navigate "https://www.tyre-shopper.co.uk/search/205-55-16/V/91" Do While wb.Busy Loop Set doc = wb.document Price = SelectNodes("#more-tyres > li:nth-child(4) > div > div.result-buy > form > span.tyre-price > div.tyre-price-cost.tyres-1 > strong") Range("A5").Value […]

使用VBAlogin到安全的https网站

我试图通过VBA脚本自动login到我的银行帐户,并从网站返回一些数据自动化我的日常任务。 但是,我不能写这样的macros可以login到这个网站 – https://online.mbank.pl/pl/Login 。 我写了下面的macros,它适用于“正常”的网站,如谷歌(基于input框ID),但不适用于银行网站返回,以下错误: 运行时错误424:需要的对象 google.com以下代码: Sub LoginHttps() Dim IE As Object Set IE = CreateObject("InternetExplorer.Application") With IE .Top = 0 .Left = 0 .Height = 1000 .Width = 1250 .Visible = True .Navigate "https://www.google.com/?gfe_rd=cr&ei=N-TZVaPMAdCv8wf19aH4Bw&gws_rd=cr&fg=1" Do While .Busy Or Not .ReadyState = 4: DoEvents: Loop .Document.getElementById("lst-ib").Value = "input" End With End Sub 并为银行网站的代码产生了424错误: […]

Excel VBA – 当button具有相同的名称时,单击一个button

我有一个网站,其中所有的button都有相同的类名,button的唯一区分部分是“data-dojo-attach-point”。 我正在尝试点击该button或select该字段并input值。 <div class="btn btn-default" type="button" data-dojo-attach-point="searchAddress">Search</div> <div class="btn btn-default" type="button" data-dojo-attach-point="buildToAddress">Build to Address</div> 即像这样 Set element = .document.getElementsByClassName("btn btn-default") element.Item(0).Click 有谁知道我可以如何select正确的button来点击? 提前致谢!

如何提交表单数据excel vba

我尝试input包裹编号:220022400803300并试图获得结果,但即使将包裹ID放入search框并单击提交button,也不会返回结果。 任何人都可以请帮助我,如果还有更好的方法来做到这一点,请让我知道。 该网站是http://eringcapture.jccal.org/caportal/CAPortal_MainPage.aspx访问该网站后,我点击Search your Real Property. Click Here. Search your Real Property. Click Here. 在页面底部,然后我selectparcel #单选button,并将包裹id号码220022400803300,并点击Searchbutton,但它没有find结果发现,而手动做它给1结果。 Option Explicit Option Compare Text Dim fRD As Long, i As Long, fSR As Long, j As Long Dim pID As String Dim IE As SHDocVw.InternetExplorer Dim Doc As MSHTML.HTMLDocument Dim urL As String Dim fnd As Boolean Sub […]

Excel VBA:自动化错误 – 远程过程调用失败

我从网站提取某些数据。 我必须从一个表中至less执行百万行这个任务。 我正在使用Excel VBA与MySQL连接。 使用MySQL与Excel VBA连接,我从表中获取作者的名字,姓氏。 对于作者的名字,姓氏,我将Linkedin添加到search查询中,并在Google中search。 从search结果中,我打开HTML格式的第一个search结果页面并提取一些信息。 我把一些提取的信息放回到MySQL表中。 一切工作正常按照上述步骤。 但是,如果我尝试做超过10行,我得到以下错误。 自动化错误远程过程调用失败,并没有执行 我意识到这是关于IE的打开/closures。 在我的程序中,我有以下代码。 要创build一个新的IE应用程序,我已经定义如下。 Set ie = New InternetExplorer Set RegEx = New RegExp Dim iedoc As Object ie.Navigate "http://www.google.com/search?hl=en&q=" & FirstName & "+" & LastName & "+linkedin&meta=" Do Until ie.ReadyState = READYSTATE_COMPLETE Loop MyStr = ie.Document.body.innerText Set RegMatch = RegEx.Execute(MyStr) 在提取一个作者的数据之后,我在下面有一段代码。 ie.Quit Set […]

Excel VBA无法加载Internet Explorer

我有一个本地网页列表(超过9000),我想用Excel VBAparsing。 我在IE 11上使用Office 2013: 一个Windows 7企业Pro x64,16 GB RAM,i7 – 处理器,但也 Windows 8.1企业版x64,12 GB RAM,i7处理器 这两个machiens的问题是,成功parsing约70-80页后,程序突然无法加载到IE的下一个网页。 它被“卡住”这样说(见下面的代码中的评论)。 如果我重置程序,那么它可以在“失败”之后再parsing70-80个configuration文件。 [编辑:对不起,我错误地张贴了错误的代码。 这是正确的版本] 这是代码的一部分: <!– language: lang-HTML –> Sub ImportFromWebpage() 'GLOBAL VARIABLES Dim html As HTMLDocument Dim CurrentRowPosition, ProfileNumber, TotalProfiles As Integer Dim TempProfileID As String Dim profileRange, posCounter, currentProfile As Range Set profileRange = Worksheets("List_of_Files").Range("B2:B20000") ProfileNumber […]

VBA在IE中键入事件不能在另一台机器上工作

我在我的网页上有一个文本框,我input了一个数字。 之后,我想执行“Enter”键按下事件。 怎么做? 我试过了: Sendkey选项(它不能正常工作,寻找一些好的替代选项) 我也尝试下面的选项build议由某人。 在这种情况下,这项工作在一个系统罚款,但是当我尝试在不同的机器相同的代码相同的IE版本相同的Excel版本,它不工作。 代码: Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Const VK_ENTER = &HD Declare Function GetKeyState Lib "user32.dll" (ByVal nVirtKey As Long) As Integer Function ENT() keybd_event VK_ENTER, 1, 0, 0 End Function […]

VBA Internet Explorer下拉列表麻烦

我试图通过Excel使用VBA刮取一些数据。 我用VBA很生疏,但我对我的google-fu很有信心,5个多小时,还没有运气。 我已经看到很多使用下拉菜单的方法,但是没有一个可以和这个一起工作。 我已成功导航到https://www.kbb.com/used-cars/,但无法使用“年份”下拉菜单。 也许我不使用正确的ID /名称? 任何意见表示赞赏,让我知道,如果我留下任何重要的信息。 码: Sub WebForumEntry() Dim IE As Object Set IE = CreateObject("InternetExplorer.Application") IE.Top = 0 IE.Left = 0 IE.Width = 800 IE.Height = 600 IE.AddressBar = 0 IE.StatusBar = 0 IE.Toolbar = 0 IE.Navigate "http://www.kbb.com" IE.Visible = True Do DoEvents Loop Until IE.ReadyState = 4 'Click on the "Used […]

使用Chrome浏览器代替InternetExplorer.Application

我知道如何使用Excel VBA和IE,但我想知道是否可以使用Google Chrome,因为我发现它比IE更快。 这就是我的意思: Set IE = CreateObject("InternetExplorer.Application") 我可以用这些东西替代IE浏览器来替代Chrome吗?