天天看點

文檔的通路端口DOM

作者:VBA語言專業教育

【分享成果,随喜正能量】“人情似紙張,世世如棋局”,對外疊加期待,就是對己的庸人自擾。人世間坎坷起伏,學會戒掉依賴,降低期待,控制敏感,多一份淡然,順其自然,反而更容易獲得意外之喜。

《VBA資訊擷取與處理》教程是我推出第六套教程,目前已經是第一版修訂了。這套教程定位于最進階,是學完初級,中級後的教程。這部教程給大家講解的内容有:跨應用程式資訊獲得、随機資訊的利用、電子郵件的發送、VBA網際網路資料抓取、VBA延時操作,剪貼闆應用、Split函數擴充、工作表資訊與其他應用互動,FSO對象的利用、工作表及檔案夾資訊的擷取、圖形資訊的擷取以及定制工作表資訊函數等等内容。程式檔案通過32位和64位兩種OFFICE系統測試。是非常抽象的,更具研究的價值。

教程共兩冊,八十四講。今日的内容是專題八“VBA與HTML文檔”:文檔的通路端口DOM

文檔的通路端口DOM

第五節 HTML文檔的通路端口DOM (Document Object Model)

大家好,我們繼續對HTML文檔進行學習,在前幾節中我們認識了網頁文檔上面的各種元素,那麼我們又該怎麼通路他們呢,是如何實作呢?其實,HTML文檔,提供了通路其元素的端口,這就是HTML DOM,其定義了一套标準的針對 HTML 文檔的對象通路或操作的機制。HTML DOM 定義了所有 HTML 元素的對象和屬性,以及通路它們的方法。換言之,HTML DOM 是關于如何擷取、修改、添加或删除 HTML 元素的标準。

1 HTML DOM (Document Object Model) 對象集合

每個載入浏覽器的 HTML 文檔都會成為 Document 對象。Document 對象使我們可以從腳本中對 HTML 頁面中的所有元素進行通路。Document 對象是 HTML 文檔的根節點。

特别注意:Document 對象是 Window 對象的一部分,可通過 window.document 屬性對其進行通路。

集合 描述

all[] 提供對文檔中所有 HTML 元素的通路。

anchors[] 傳回對文檔中所有 Anchor 對象的引用。

applets 傳回對文檔中所有 Applet 對象的引用。

forms[] 傳回對文檔中所有 Form 對象引用。

images[] 傳回對文檔中所有 Image 對象引用。

links[] 傳回對文檔中所有 Area 和 Link 對象引用。

VBA直接支援調用的對象有限,如下:

對象 描述

Document 代表整個 HTML 文檔,可被用來通路頁面中的所有元素

Anchors 代表 <a> 元素集合

Body 代表 <body> 元素

Forms 代表 <form> 元素集合

Frames 代表 <frame> 元素或<iframe> 元素集合

Images 代表 <img> 元素集合

Links 代表 <link> 元素集合

Options 代表 <option> 元素集合(select元素裡面可以直接使用)

Cells 代表 <td> 元素集合(table元素裡面可以直接使用)

Rows 代表 <tr> 元素集合(table元素裡面可以直接使用)

All 對象集合,提供對文檔中所有 HTML 元素的通路。

上述VBA支援直接調用對象的元素,調用起來就非常友善了,可以用序号調用,例如forms(0),也可以按名稱/ID調用,例如forms(“名稱/ID”)。其他沒法直接調用對象的元素,可以間接從通用all對象集合中去調用該元素或該元素對應的dom對象。

(待續)

本節知識點回向:

什麼是HTML DOM文檔的屬性,常用的屬性有哪些。

本節參考檔案:008工作表.xlsm

文檔的通路端口DOM

我20多年的VBA實踐經驗,全部濃縮在下面的各個教程中,教程學習順序:

文檔的通路端口DOM

【分享成果,随喜正能量】隻要健健康康、平平安安,生活就是最美滿的生活,日子就是頂好的日子。