Tag: msxml

Vb脚本获取超时错误

一些背景第一个解决scheme:我已经构build了一个使用文本数据源导入所需数据的Excel解决scheme。 我select了这个方法作为发送数据的URL将发送一个csv文件。 一旦收到数据,许多过程和条件必须应用于此。 关注的原因:这需要大量的时间来获取数据超过6分钟。 这导致Excel挂起。 在我的第二个类似的解决scheme: – 我已经select从Excel中调用VB脚本来做数据的下载。 这对这个解决scheme非常有效。 现在,我想为第一个解决scheme实现这个方法。 我的主要问题:在第二个解决scheme中使用的VB脚本失败,出现以下错误。 错误: – C:\ Users-user id- \ Desktop \ script \ download_moni.vbs(15,1)msxml6.dll:操作超时 我的VB脚本代码: – Set args = WScript.Arguments Url = "url given here" dim xHttp: Set xHttp = createobject("MSXML2.ServerXMLHTTP.6.0") dim bStrm: Set bStrm = createobject("Adodb.Stream") xHttp.Open "GET", Url, False 'Open socket to get the website […]

在循环内部打开对象“IXMLHTTPRequest”失败

我想检查一下我的服务器每秒存在一个文件大概十秒钟。 如果该文件在那里,请下载它。 它不在那里(404)再次尝试,直到最多十次分散在十秒以上。 我通常不会在VBA中编写代码,但在这里..我有我的下载function: Function DownloadFile(url As String, fileID As String) ' Setup our path where we will save the downloaded file. Dim fileSavePath As String fileSavePath = Environ("USERPROFILE") & "\" & Environ("USERNAME") & "-123-" & fileID & ".xlsx" ' Use Microsoft.XMLHTTP in order to setup a connection. ' https://msdn.microsoft.com/en-us/library/ms535874(v=vs.85).aspx#methods Dim WinHttpReq As Object Set […]

MsXMl selectNodes返回多余的节点

我有这个VBA脚本我正在写自动化自动化结果的制表。 我试图parsing的节点的例子如下: > <test id="41"> > <name>7.1.1.4_BandI_PS</name> > <ttcnTestCaseName>7.1.1.4</ttcnTestCaseName> > <numberOfIterations>1</numberOfIterations> > <failureAction selected="Continue"/> > <runMode>Normal</runMode> > <testPicsPixitDeviation> > <picsPixitDeviationTag>BandI</picsPixitDeviationTag> > <picsPixitDeviationTag>PS</picsPixitDeviationTag> > <picsPixitDeviationTag>NonCipher</picsPixitDeviationTag> > </testPicsPixitDeviation> > <comment/> > <result iterationIndex="0" repeatIndex="0"> > <status> > <status>Passed</status> > </status> > <resultLocation>C:\result_arch\MAC_D12wk47_v10-tc_7_1_1_4_2013-01-07_15.18.27</resultLocation> > <startTime>2013-01-07_15.18.26</startTime> > <executionDuration>120</executionDuration> > <ptsIpAddress>127.0.0.1</ptsIpAddress> > </result> > </test> > <test id="42"> > <name>7.1.1.8_BandI_CS</name> […]

带有空格的Excel XML表格标题

我正在通过web服务在我的系统中公开表格以在Excel工作表中使用(作为XML源)。 这些表可以包含包含空格和其他字符的XML元素名称中无效的标题。 Excel是好的,我的系统是好的,但中间格式(XML)不是。 那么,XML Source可以告诉Excel(通过模式或数据)使用不同于元素名称的表格标题吗? 例如: <xs:element name="place-of-origin"> <xs:annotation> <xs:appinfo><od:displayName>Place of origin</od:displayName></xs:appinfo> </xs:annotation> </xs:element> 编辑:这里是一个示例XML文件和相应的XSD 。 在Excel中打开这个表格会产生一个列标题为“sex_of_person”的表 – 所以问题是:XML或模式如何表示这个标题应该是“人的性别”(带空格)或“#$!%”(请原谅我),或任何其他string无效的XML名称 ?

MSXML删除节点不按预期方式运行

我正试图从下面的XML中删除一个节点 – 下面的数据只是代表了实际的数据: <StaffMembers> <Staff Name="Test1" Date="Date1"/> <Staff Name="Test2" Date="Date2"/> </StaffMembers> 我的代码如下: Sub DeleteRecord(strName as string, strDate as string) 'Load Document Set xList = xDoc.SelectNodes("//StaffMembers/") for each xNode in xList If xNode.Attributes.Length > 0 And xNode.Attributes.getNamedItem("Date").NodeValue = strDate Then xnode.parentnode.removechild xnode exit for End if next xNode 'Save Document End Sub 生成的XML – 如您所见,它不完整: <StaffMembers> […]

如何从VBA / Excel中的MSXML.ResponseText读取CRLF分隔线

我用MSXML看到的大多数示例都必须使用Javascript或JQuery,但是我正在编写不使用的Excel 2010macros。 我的目标是下载一个文件(如下所示),并parsing一个中等大小(5到15MB)的CSV文件。 我最终希望将CSV数据保存在隐藏数据选项卡中。 我在这个CSV VBA示例中做了一些改进,但是我不知道如何将MSXML.ResponstText的输出粘贴到这个示例中。 这是我的VBA /macros代码 Set objHttp = CreateObject("MSXML2.ServerXMLHTTP") 'objHttp.SetRequestHeader "Content-Type", "text/csv" 'objHttp.SetRequestHeader "charset", "gb2312" Call objHttp.Open("GET", fileURL, False) Call objHttp.Send("") 'Call MsgBox(objHttp.ResponseText) 我如何得到excel与ResponseText一起工作,只读一行?

提交表单并从网站VBA获取数据

我试图从Excel中使用VBA从这个网站获取数据。 我试图做的事情是什么使用InternetExplorer对象是这样的: Set IE = CreateObject("InternetExplorer.Application") IE.Visible = False IE.Navigate "http://zertifikate.finanztreff.de" IE.document.getElementById("USFsecuritySearchDropDown").Value = "DE000BP5TBQ2" IE.document.getElementById("USFsecuritySearchDropDownForm").submit Do While IE.Busy Or IE.readyState <> 4 'wait until page is loaded Application.Wait DateAdd("s", 1, Now) Loop MsgBox IE.document.getElementById("BP5TBQ~30~5").innerHTML 然而,这工作非常缓慢,并没有得到总是正确的结果。 我怀疑有时它不会等到网页被加载。 我试图寻找答案,我发现这个答案在stackoverflow 。 现在我想弄清楚如何使用MSXML2和MSHTML重写我的macros。 到目前为止,我能够做到这一点: Dim IE As MSXML2.XMLHTTP60 Set IE = New MSXML2.XMLHTTP60 IE.Open "GET", "http://zertifikate.finanztreff.de", False IE.send While […]

如何在XMLHTTP onTimeOut时使用VBAcallback函数?

我试图从Web服务器获取XML数据到Excel,然后我写了一个sendRequest函数在Excel中调用 =sendRequest("http://abb.com/index.php?id=111") 当networking服务器有问题时,无法连接或找不到,excel没有响应,太可怕了! 为了避免这种情况,我认为我们应该设定时间输出。 这些是我的function: Function sendRequest(Url) 'Call service Set XMLHTTP = CreateObject("Msxml2.ServerXMLHTTP.6.0") 'Timeout values are in milli-seconds lResolve = 10 * 1000 lConnect = 10 * 1000 lSend = 10 * 1000 lReceive = 15 * 1000 'waiting time to receive data from server XMLHTTP.setTimeOuts lResolve, lConnect, lSend, lReceive XMLHTTP.OnTimeOut = OnTimeOutMessage 'callback function […]

在IE中使用Excel中的VBA到Googlesearch并返回第一个结果的超链接

我一直在试图使用IE自动化谷歌searchExcel中的文本string。 我想要返回excel中另一个单元格的第一个结果的网站的超链接。 这可能吗? 我有一个60,000条logging的列表,我需要谷歌search,并在第一个结果中返回网站的超链接。 有没有其他的方法可以推荐? 我感谢提前的帮助。

使用Excel VBA中的MSXML2.XMLHTTP从网站中提取大量的文本数据

我试图从finance.yahoo.com下载历史股票价格数据为1000股股票。 该网站只在一个页面上显示60天的数据,所以我必须循环浏览我下载的时间段以及不同证券的循环。 我已经使用下面的代码来访问相关页面。 Set httpObject = CreateObject("MSXML2.XMLHTTP") httpObject.Open "GET", url, False httpObject.send webObject.body.innerHTML = httpObject.responseText 这对于我访问的99%的数据来说就像一个魅力。 但时不时地,网站返回的对象竟然是空的,即使同一个URL在Internet Explorer中显示正确的数据。 如果我重新运行该URL的代码,下次可能会也可能不会。 我想知道是否有更稳定/一致的方式使用上述方法。 我以前实现了InternetExplorer.Application方法来下载数据,但发现要慢得多和麻烦。