Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 免费观看国产精品直播,国产乱人伦av在线a,91福利电影福利在线观看

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          如何零基礎(chǔ)學(xué)習(xí)VBA—HTMLDOMTextNode對(duì)象

          頭條創(chuàng)作挑戰(zhàn)賽# 在Excel VBA中,HTMLDOMTextNode對(duì)象是HTML文檔對(duì)象模型(DOM)中的一個(gè)對(duì)象,它代表HTML文檔中的文本節(jié)點(diǎn)。文本節(jié)點(diǎn)是HTML文檔中的一種節(jié)點(diǎn)類型,它包含純文本內(nèi)容,例如段落中的文字或標(biāo)題中的文字。通過(guò)訪問(wèn)HTMLDOMTextNode對(duì)象,可以獲取和修改HTML文檔中的文本內(nèi)容。

          當(dāng)操作HTML文檔時(shí),HTMLDOMTextNode對(duì)象是非常有用的。以下是6個(gè)Excel VBA代碼示例,演示了如何使用HTMLDOMTextNode對(duì)象:

          1、獲取文本節(jié)點(diǎn)的文本內(nèi)容

          Set objTextNode = objHTMLDoc.getElementById("text")
          strTextContent = objTextNode.innerText

          2、修改文本節(jié)點(diǎn)的文本內(nèi)容

          Set objTextNode = objHTMLDoc.getElementById("text")
          objTextNode.innerText = "New text content"

          3、查找包含特定文本的文本節(jié)點(diǎn)

          Set objTextNodes = objHTMLDoc.getElementsByTagName("p")
          For Each objTextNode In objTextNodes
              If InStr(objTextNode.innerText, "search phrase") > 0 Then
                  ' Do something with the text node
              End If
          Next objTextNode

          4、在文本節(jié)點(diǎn)中插入新的文本

          Set objTextNode = objHTMLDoc.getElementById("text")
          objTextNode.insertData 5, " new text "

          5、替換文本節(jié)點(diǎn)中的文本

          Set objTextNode = objHTMLDoc.getElementById("text")
          objTextNode.replaceData 5, 3, "new"

          6、刪除文本節(jié)點(diǎn)中的文本

          Set objTextNode = objHTMLDoc.getElementById("text")
          objTextNode.deleteData 5, 3

          在使用HTMLDOMTextNode對(duì)象時(shí),需要注意以下幾個(gè)方面:

          1、獲取文本節(jié)點(diǎn)對(duì)象時(shí),要確保該節(jié)點(diǎn)是存在的。如果節(jié)點(diǎn)不存在,嘗試訪問(wèn)其屬性或方法可能會(huì)導(dǎo)致運(yùn)行時(shí)錯(cuò)誤。

          2、修改文本節(jié)點(diǎn)的內(nèi)容時(shí),要確保新內(nèi)容不會(huì)破壞HTML文檔的結(jié)構(gòu)。例如,在文本節(jié)點(diǎn)中添加HTML標(biāo)記可能會(huì)導(dǎo)致解析錯(cuò)誤。

          3、在處理包含多個(gè)文本節(jié)點(diǎn)的HTML元素時(shí),需要注意它們之間的空格字符。在某些情況下,空格字符可能會(huì)被視為文本節(jié)點(diǎn)的一部分,從而影響文本內(nèi)容的處理。

          4、在查找包含特定文本的文本節(jié)點(diǎn)時(shí),要注意搜索條件的準(zhǔn)確性。如果搜索條件不準(zhǔn)確,可能會(huì)返回不正確的結(jié)果。

          5、在插入、替換或刪除文本時(shí),要確保操作的位置和長(zhǎng)度是正確的。如果位置或長(zhǎng)度不正確,可能會(huì)導(dǎo)致文本內(nèi)容的破壞。

          總之,在使用HTMLDOMTextNode對(duì)象時(shí),需要對(duì)HTML文檔的結(jié)構(gòu)和內(nèi)容有一定的了解,并且要謹(jǐn)慎處理文本內(nèi)容,以避免出現(xiàn)錯(cuò)誤。

          tmlProject對(duì)象代表了一個(gè)HTML項(xiàng)目。HTML項(xiàng)目是一個(gè)包含了HTML文件、腳本和樣式表等資源的項(xiàng)目。通過(guò)HtmlProject對(duì)象,可以訪問(wèn)和操作HTML項(xiàng)目中的各種元素,比如HTML文件、腳本和樣式表等。可以通過(guò)HtmlProject屬性來(lái)獲取當(dāng)前活動(dòng)工作簿中的HtmlProject對(duì)象。

          以下是5個(gè)代碼實(shí)例來(lái)說(shuō)明HtmlProject對(duì)象的使用:

          1、獲取活動(dòng)工作簿中的HtmlProject對(duì)象:

          Dim htmlProj As HtmlProject
          Set htmlProj = ThisWorkbook.VBProject.References.Item("HTMLProject").HtmlProject

          2、在HTML項(xiàng)目中添加一個(gè)新的HTML文件:

          Dim htmlFile As HtmlFile
          Set htmlFile = htmlProj.AddHtmlFile("NewFile.html")
          htmlFile.CodeModule.AddFromString "<html><body><h1>Hello, World!</h1></body></html>"

          3、在HTML項(xiàng)目中添加一個(gè)新的腳本文件:

          Dim scriptFile As ScriptFile
          Set scriptFile = htmlProj.AddScriptFile("Custom.js")
          scriptFile.CodeModule.AddFromFile "C:\path\to\Custom.js"

          4、在HTML項(xiàng)目中添加一個(gè)外部樣式表文件:

          Dim styleSheetFile As StyleSheetFile
          Set styleSheetFile = htmlProj.AddStyleSheetFile("styles.css")
          styleSheetFile.CodeModule.AddFromString "body{background-color:lightblue;}"

          5、遍歷HTML項(xiàng)目中的所有HTML文件并顯示它們的名稱:

          Dim htmlFile As HtmlFile
          For Each htmlFile In htmlProj.HtmlFiles
              Debug.Print htmlFile.Name
          Next htmlFile

          這些代碼示例展示了如何使用HtmlProject對(duì)象來(lái)操作HTML項(xiàng)目中的不同元素,包括HTML文件、腳本文件和樣式表文件等。

          在使用HtmlProject對(duì)象時(shí),需要注意以下幾點(diǎn):

          1、引用:使用HtmlProject對(duì)象之前,需要確保已經(jīng)引用了“Microsoft HTML Object Library”。在VBA編輯器中,通過(guò)依次點(diǎn)擊“工具”->“引用”,然后勾選“Microsoft HTML Object Library”來(lái)添加引用。

          2、可用性:HtmlProject對(duì)象只能在包含有HTML項(xiàng)目的工作簿中使用。如果工作簿中沒(méi)有HTML項(xiàng)目,那么訪問(wèn)HtmlProject對(duì)象將會(huì)導(dǎo)致錯(cuò)誤。

          3、資源:HtmlProject對(duì)象代表了一個(gè)包含了HTML文件、腳本和樣式表等資源的項(xiàng)目。在使用HtmlProject對(duì)象之前,需要確認(rèn)相關(guān)資源已經(jīng)存在,并且對(duì)它們進(jìn)行正確的引用和操作。

          4、方法和屬性:HtmlProject對(duì)象提供了一些方法和屬性,用于訪問(wèn)和操作HTML項(xiàng)目中的各種元素。在使用這些方法和屬性時(shí),需要仔細(xì)閱讀相關(guān)文檔并遵循正確的語(yǔ)法和用法。

          5、錯(cuò)誤處理:在使用HtmlProject對(duì)象時(shí),可能會(huì)遇到各種錯(cuò)誤情況,比如資源不存在或者操作失敗等。為了避免程序異常終止,需要適當(dāng)?shù)靥砑渝e(cuò)誤處理代碼,以捕獲和處理可能發(fā)生的錯(cuò)誤。

          總之,使用HtmlProject對(duì)象需要確保正確的引用和環(huán)境,并且了解相關(guān)的方法和屬性,以確保能夠正確訪問(wèn)和操作HTML項(xiàng)目中的元素。

          分享成果,隨喜正能量】人的一生,肯定會(huì)遭遇各種挫折與挑戰(zhàn),莫大的壓力會(huì)讓你喘不過(guò)氣。可是,只有真正懂得適時(shí)彎腰的人才能得以克服危機(jī),贏得勝利。這不是懦弱,也不是沒(méi)骨氣,而是一種大智慧。強(qiáng)干、蠻干,只會(huì)帶來(lái)不可必要的損失。

          《VBA信息獲取與處理》教程是我推出第六套教程,目前已經(jīng)是第一版修訂了。這套教程定位于最高級(jí),是學(xué)完初級(jí),中級(jí)后的教程。這部教程給大家講解的內(nèi)容有:跨應(yīng)用程序信息獲得、隨機(jī)信息的利用、電子郵件的發(fā)送、VBA互聯(lián)網(wǎng)數(shù)據(jù)抓取、VBA延時(shí)操作,剪貼板應(yīng)用、Split函數(shù)擴(kuò)展、工作表信息與其他應(yīng)用交互,F(xiàn)SO對(duì)象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定制工作表信息函數(shù)等等內(nèi)容。程序文件通過(guò)32位和64位兩種OFFICE系統(tǒng)測(cè)試。是非常抽象的,更具研究的價(jià)值。

          教程共兩冊(cè),八十四講。今日的內(nèi)容是專題六“VBA中利用XMLHTTP完成網(wǎng)抓數(shù)據(jù)”的第3講:VBA網(wǎng)抓數(shù)據(jù)結(jié)果的鏈接

          第三節(jié) 利用XMLHTTP抓取百度搜索數(shù)據(jù)結(jié)果,給出打開(kāi)鏈接

          在上一講中我們實(shí)現(xiàn)了利用XMLHTTP的方法抓取了搜索關(guān)鍵詞的數(shù)據(jù),但是我們?cè)诰W(wǎng)絡(luò)查詢的時(shí)候,往往不僅需要總的數(shù)據(jù)支持,還需要一些具體的數(shù)據(jù),比如:查找到了哪些網(wǎng)址,標(biāo)題是什么?如果我需要進(jìn)一步的查看往往要需要打開(kāi)的鏈接。這種數(shù)據(jù)如何抓取呢?這講我就來(lái)實(shí)現(xiàn)這個(gè)問(wèn)題。

          實(shí)現(xiàn)的場(chǎng)景:如下圖當(dāng)我們點(diǎn)擊右側(cè)的按鈕“利用VBA提取搜索關(guān)鍵詞的數(shù)據(jù),并給出下載的鏈接”時(shí)能夠在下面的數(shù)據(jù)區(qū)域給出查詢到的結(jié)果。

          其實(shí),這種處理也是工作中經(jīng)常遇到的,可以對(duì)于我們?yōu)g覽的網(wǎng)頁(yè)進(jìn)行適當(dāng)?shù)谋4妫谛枰臅r(shí)候再詳細(xì)的查詢。特別是把這些數(shù)據(jù)保存在EXCEL表格中,更讓管理?xiàng)l理清晰。那么如何實(shí)現(xiàn)這個(gè)場(chǎng)景呢?我們?nèi)允抢肵MLHTTP來(lái)完成我們的工作。

          1 應(yīng)用XMLHTTP實(shí)現(xiàn)數(shù)據(jù)查詢并提取網(wǎng)頁(yè)鏈接的思路分析

          我們先模擬一下直接在網(wǎng)頁(yè)上查詢數(shù)據(jù),當(dāng)我們輸入一個(gè)數(shù)據(jù)點(diǎn)擊回車的時(shí)候,服務(wù)器會(huì)反饋回?cái)?shù)據(jù)在我們的瀏覽器上,我們需要對(duì)網(wǎng)頁(yè)的源代碼進(jìn)行分析,

          上面的截圖就是我錄入“VBA語(yǔ)言專家”點(diǎn)擊回車后的在后臺(tái)看到的源代碼,你會(huì)發(fā)現(xiàn),所有我們要寫(xiě)入EXCEL表格的信息都出現(xiàn)在了這里。

          其中“標(biāo)題”可以用innerText屬性來(lái)獲得,鏈接可以用href的屬性來(lái)獲得,真的非常容易,下面我們就要實(shí)現(xiàn)把多頁(yè)查詢的結(jié)果填到excel表格中,這個(gè)時(shí)候我們利用發(fā)送給服務(wù)器時(shí)要求頭部檢查一下查詢的時(shí)間即可如下代碼:.setRequestHeader "If-Modified-Since", "0"

          這樣就可以實(shí)現(xiàn)我們的要求了。

          2 應(yīng)用XMLHTTP實(shí)現(xiàn)數(shù)據(jù)查詢并提取網(wǎng)頁(yè)鏈接的代碼實(shí)現(xiàn)過(guò)程

          下面我們把上面的思路轉(zhuǎn)換為代碼,如下所示:

          Sub myNZA() '利用VBA提取搜索關(guān)鍵詞的數(shù)據(jù),并給出下載的鏈接

          【具體見(jiàn)教程】

          End Sub

          代碼截圖:

          代碼講解:

          1) Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")

          Set objDOM = CreateObject("htmlfile")

          上述代碼建立了兩個(gè)引用,一個(gè)是XMLHTTP ,一個(gè)是htmlfile ,之后將利用這兩個(gè)引用完成我們的工作。

          2)UU = Range("B1").Value 這是我們要查詢的關(guān)鍵數(shù)據(jù)

          3)For i = 0 To 50 Step 10 '五頁(yè) 這是要查詢5次利用i作為查詢的頁(yè)碼

          4) strURL = "https://www.baidu.com/s?"

          strURL = strURL & "wd=" & UU

          strURL = strURL & "&pn=" & i

          上述代碼是完成了我們要查詢的請(qǐng)求URL。

          5) .Open "GET", strURL, False 使用OPEN 方法

          6) .setRequestHeader "If-Modified-Since", "0" 請(qǐng)求頭部把瀏覽器端緩存頁(yè)面的最后修改時(shí)間一起發(fā)到服務(wù)器去,服務(wù)器會(huì)把這個(gè)時(shí)間與服務(wù)器上實(shí)際文件的最后修改時(shí)間進(jìn)行比較,以保障我們每次請(qǐng)求到的數(shù)據(jù)是沒(méi)有重復(fù)的。

          7) .send 注意請(qǐng)求頭部的提交要在此命令之前完成

          8)objDOM.body.innerHTML = .responseText '將.responseText內(nèi)容寫(xiě)入新objDOM對(duì)象的body

          9) For Each objTitle In objDOM.getElementsByTagName("h3") 在每個(gè)H3標(biāo)簽即標(biāo)題進(jìn)行遍歷操作。注意<h1> 到 <h6>是標(biāo)簽標(biāo)題。<h1> 定義最大的標(biāo)題。<h6> 定義最小的標(biāo)題。

          10)With objTitle.getElementsByTagName("a")(0) 對(duì)于每個(gè)屬性名稱為為“a”的元素

          11)Cells(k, 2) = .innerText

          Cells(k, 3) = .href

          提取標(biāo)簽之間的純文本信息和鏈接

          12)Set objXMLHTTP = Nothing

          Set objDOM = Nothing

          Set objTitle = Nothing

          回收內(nèi)存。

          3 應(yīng)用XMLHTTP實(shí)現(xiàn)數(shù)據(jù)查詢并提取網(wǎng)頁(yè)鏈接的實(shí)現(xiàn)效果

          我們先來(lái)看看當(dāng)我們點(diǎn)擊運(yùn)行按鈕后的實(shí)現(xiàn)效果:

          此時(shí)我們?nèi)我恻c(diǎn)擊一個(gè)單元格的鏈接,就會(huì)轉(zhuǎn)跳到下面的頁(yè)面:

          從而實(shí)現(xiàn)了我們最初的課題要求。

          本節(jié)知識(shí)點(diǎn)回向:如何利用XMLHTTP反饋網(wǎng)頁(yè)中的關(guān)鍵詞的搜索結(jié)果和網(wǎng)頁(yè)的鏈接?

          本講參考程序文件:006工作表.XLSM

          我20多年的VBA實(shí)踐經(jīng)驗(yàn),全部濃縮在下面的各個(gè)教程中,教程學(xué)習(xí)順序:


          主站蜘蛛池模板: 精品久久一区二区| 一区二区免费在线观看| 性色AV一区二区三区无码| 国产一区二区三区亚洲综合| 久久人妻内射无码一区三区| 精品女同一区二区三区在线| 亚洲av无码一区二区三区天堂古代| 精品无码成人片一区二区| 极品少妇一区二区三区四区| 人妻无码第一区二区三区| 国产情侣一区二区三区| 国产在线一区二区三区av| 成人精品视频一区二区| 日韩免费无码视频一区二区三区| 国产乱码伦精品一区二区三区麻豆| 国产一区二区三区露脸| 亚洲一本一道一区二区三区| 色欲AV蜜臀一区二区三区 | 国产精品一区在线麻豆| 国产无线乱码一区二三区| 久久精品综合一区二区三区| 波多野结衣AV一区二区三区中文| 伦精品一区二区三区视频| 91一区二区视频| 天堂国产一区二区三区 | 国产成人一区二区动漫精品| 91视频一区二区三区| 国产主播福利一区二区| 乱码人妻一区二区三区| 国产激情一区二区三区小说 | 在线免费视频一区二区| 亚洲精品日韩一区二区小说| 无码一区二区波多野结衣播放搜索 | 国产精品视频一区二区三区四| 中文字幕永久一区二区三区在线观看| 乱中年女人伦av一区二区| 精品少妇一区二区三区在线| 国产情侣一区二区三区 | 呦系列视频一区二区三区| 最新中文字幕一区| 老鸭窝毛片一区二区三区|