Tag: dom

VBAparsingdom来find一个特定的href值

使用Excel VBA,由于所有法语版本的URL都在.xls文件中,因此我必须从同一站点的英文版本中find大约400个URL。 知道该网站的dom结构,我知道我可以: 打开网页(MSXML2.XMLHTTP) 在网页的标题中search一个特定的链接。 使用户能够切换语言的链接。 在那个链接(href)下,我将能够find英文链接,这就是我所需要的。 之后,我将设法将该结果复制到工作表中的相应单元格中。 结构是这样的。 “英语”链接改变,但始终在这种结构下: <ul class="global-links"> <li><a title="Nous joindre" href="/fr/coordonnees.html">Nous Joindre</a></li> <li>|</li> <li><a title="Carrières" href="/fr/carrieres.html">Carrières</a></li> <li>|</li> <li><a title="English" href="/en/personal.html">English</a></li> </ul> 我想要的href是链接上的标题为“英语”的那个。 如果我卡住了,我知道有两种方法可以find相关的文本 getElement …(直接parsingDOM) inStr(string操作) 我设法testing他们两个但是: 操纵DOM:我本来以为下面的工作会有效果,但是根本不会,而且会给我一个438的错误。 另外,我不明白是否有可能将href作为标题(因为没有特殊的类或id) .getElementsByClassName( “全球通”)。innerText属性 所以我改变了instr方法(操纵位置做一个MID之后…我寻找 InStr(1,htm.body.innerHTML,“title =”“English”“href =”) 由于双引号,我无法构build我想要以良好方式search的string。 我试图加倍双引号。 我也试过像这样的chr(34)方法 "title=" & Chr(34) & "English" & Chr(34) & " href=" & Chr(34) […]

使用vba打印/导入所有网页源数据

我有下面的代码,只input部分源代码到工作表。 我想要所有的源代码.`Sub GetSourceCode() Dim ie As Object Dim str As String Dim arr str = Sheets("sheet2").Range("I1").Value Set ie = CreateObject("INTERNETEXPLORER.APPLICATION") ie.Navigate "https://tiweb.industrysoftware.automation.com/prdata/cgi-bin/n_prdata_index.cgi?" ie.Visible = False Do Until ie.ReadyState = 4 DoEvents Loop ie.Document.getelementsbyname("pr_numbers")(0).Value = str Application.SendKeys ("~") Do Until ie.ReadyState = 4 DoEvents Loop Worksheets("Download_PRdata2").Activate arr = Split(ie.Document.body.outertext) Worksheets("Download_PRdata2").Activate ActiveSheet.Range("A1").Resize(UBound(arr) + 1, 1).Value = Application.Transpose(arr) […]

Excel XML行在PHP DOM的单元格内断开

我正在尝试将新行插入到Excel XML文档中。 我需要插入的实体是 但每当我插入到PHP的DOM,它只是将其转换为正常换行符。 这是我得到的: <Cell><Data>text text2 </Data></Cell> 这就是我要的: <Cell><Data>text text2 </Data></Cell> 我不知道如何插入一个新的行,并得到它的编码方式,或添加该字符没有它或者双重编码,或将其转换为一个新的行。 谢谢您的帮助!

将Htmlstring转换为HTMLDocument VBA

我正在写一个macros来获取雅虎当前的汇率,但我无法将HTMLstring转换为HTMLDocument,以便通过idsearch所需的元素。 这是我的代码到目前为止,但它在debug.print行上失败。 Public Sub Forex(currency1 As String, currency2 As String) Dim oXHTTP As Object Dim doc As HTMLDocument Dim url As String Dim html As String Dim id As String Set oXHTTP = CreateObject("MSXML2.XMLHTTP") url = "http://finance.yahoo.com/q?s=" & currency1 & currency2 & "=X" oXHTTP.Open "GET", url, False oXHTTP.send html = oXHTTP.responseText Set oXHTTP = Nothing […]

Excel VBA:完整的HTML DOM手册

我需要知道我可以通过Excel VBA来处理HTML。 例如我知道我可以通过id ie.document.getElementByID()find元素。 我将使用HTML表格,它没有id的元素,所以它会看起来像child->child->sibling->child…..我想。 那么,有没有完整的手册来实现我的目标? 编辑:任何人都可以请求显示我的代码的一部分,这将从这个示例表中获取文本“你好”? 第一个节点将通过他的IDfind。 … <table id="something"> <tr> <td></td><td></td> </tr> <tr> <td></td><td>hello</td> </tr> …

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 […]

excel VBA 2013中的运行时自动化未指定错误

我试图在Excel 2013中运行一段VBA代码来访问我们的Intranet站点的一些数据,我得到一个运行时错误2147467259(80004005) – 自动化错误未指定的错误。 Sub AccessWar() Dim oIE As InternetExplorer Dim oHTML As HTMLDocument Set oIE = New InternetExplorer oIE.Navigate ("http://iscls3apps/WAR40/aspx/WAR40AllReports.aspx") oHTML = oIE.document End Sub 我是新来的优秀的VBA,并没有太多的想法。 任何指针都会有帮助

从不在源代码中的网页提取数据

我想在Excel中编写一个macros,从下面的网页中提取数据: http://www.richmond.com/data-center/salaries-virginia-state-employees-2013/?appSession=673718284851033&RecordID=101177&PageID=3&PrevPageID=2&cpipage=1&CPIsortType=&CPIorderBy=&cbCurrentRecordPosition=1 我遇到的问题是员工信息数据不在页面源代码中,所以当我使用下面的代码(其中NextPage设置为上述URL)时, responseText不包含我正在查找的数据。 With CreateObject("msxml2.xmlhttp") .Open "GET", NextPage, False .Send htm.body.innerHtml = .responseText End With 我可能是错的,但我相信数据包含在页面的DOM中。 有人可以帮助我了解如何使用VBScript显示(即在应用javascript修改后)下载此页面的内容?

在java中用xml表示空值

我的Excel数据值是:名称EmployeeId地址电话Rony FBL123达卡12333333 Azam FBL321达卡67778888 Rony Chandpur 099776655 Azam 9988 这里是我的代码来读取包括空值的数据值列表:并将数据转换为XML: try { DocumentBuilderFactory dFact = DocumentBuilderFactory.newInstance(); DocumentBuilder build = dFact.newDocumentBuilder(); Document doc = build.newDocument(); Element root = doc.createElement("dataroot"); doc.appendChild(root); Element Details = doc.createElement("DATA"); root.appendChild(Details); for(int i=0; i<list.size()-2; i +=3 ) { Element name = doc.createElement("Name"); name.appendChild(doc.createTextNode(String.valueOf(list.get(i)))); Details.appendChild(name); Element id = doc.createElement("Empid"); id.appendChild(doc.createTextNode(String.valueOf(list.get(i+1)))); Details.appendChild(id); Element ad […]

我有一个string与pipe道和双向正斜杠分开,我需要格式化为一个Excel文件作为输出在Java中

我从java文件中读取数据作为string,而从XML文件中读取类似的标签。 而且这些数据是以pipe道(|)分隔的,并且每个数据都用双正斜杠(//)分隔。 在可用的标签中共享三个string,需要以excel格式转换为制表符分隔。 Information – Desktop | Telecom//Apple Mac//iPhone//Working with iPhone Infrastructure – Desktop | Telecommunication//Apple iPod//iPad Information – Desktop | Telecom//Apple Mac//iTunes 10//Settings//Troubleshooting 这些是我使用DOM中的DOMparsing器通过XML获取的3个string。 我需要将string转换为Excel作为制表符分隔txt文件。 输出文件的格式是, 请build议我怎样才能实现这个循环,以获得像这样的一个。