作者s52222b (陳豬靜)
看板Office
標題[算表]VBA 抓取資料的問題
時間Sun Aug 25 10:20:11 2019
軟體:EXCEL
版本:2016
大家好我是VBA新手,目前正在學習怎麼用VBA撈網路資料
以減輕自身的工作量,自己買的參考書中都沒有提到這一部分
因此可能會問到一些基礎的問題,請多包涵
目前在看這個範例,時有些地方不清楚,詳細程式碼如面下網址
http://white5168.blogspot.com/2016/03/excel-vba-eft.html#.XWHQS-gzZhF
https://imgur.com/a/2Q0aJWv
他是要抓取元大投信中的匯率資料,有些地方不明白
1.元大的網頁中要按同意才能進去抓資料 如下圖
https://imgur.com/a/vrMl8ou
我從程式碼中看不出來,哪一段執行了這個動作
2.第二個Do這邊有一個.Document的屬性
他的狀態是要compelete才停止
這裡的Document它代表的是甚麼意思?
3.他有一行註解 '.Document.cookie = "IsAgreeRtNav=TRUE"
這一行感覺是要按同意,但是它是寫在註解中
4.接下來的
Set element = doc.getElementsByTagName("table")(22)
他是要找網頁中的table集合中的第22個
我從元大的source code中沒有看到有關的table集合
不知道它定義在哪裡
求各位高手解惑!!!!!!!!!!!!!!!!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.205.177.120 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1566699613.A.243.html
1F:→ soyoso: 問題1,巨集內並無寫按下同意的動作,因為接下來的table應08/25 10:53
2F:→ soyoso: 於迴圈ReadyState條件確定時就載入了08/25 10:53
那我在請問一下 我把網頁的visible改成true
執行時也沒有顯示出已經進入同意了裡面,怎
麼會沒有顯示出來還能進入呢?求解
3F:→ soyoso: 問題2,document代表意思,google msdn InternetExplorer08/25 10:53
4F:→ soyoso: object document08/25 10:53
5F:→ soyoso: 問題3,看isagree來看應是,後來改以註解,有可能是有看到08/25 10:53
6F:→ soyoso: 有沒有按,都會載入,所以才改的08/25 10:53
7F:→ soyoso: 問題4,不以檢視原始檔看,而是要以開發人員工具來看08/25 10:53
※ 編輯: s52222b (101.9.148.229 臺灣), 08/25/2019 12:12:53
8F:→ soyoso: 不太了解,進入那裡?08/25 12:50
9F:→ soyoso: 是指沒有出現本網站資料風險預告及免責條款的同意頁面08/25 12:53
10F:→ soyoso: 就進入即時估計淨值的頁面嗎?08/25 12:53
不是欸 我手動跑程式碼 ie的 畫面只有停在
https://imgur.com/a/vrMl8ou
沒有按同意後進入的畫面
https://imgur.com/a/z40MXuW
但是卻抓的到資料 不知道為什麼?
※ 編輯: s52222b (101.9.148.229 臺灣), 08/25/2019 14:11:35
11F:→ soyoso: 如回文所述,在本網站資料風險預告及免責條款的同意頁面 08/25 14:18
12F:→ soyoso: 巨集並無寫按下同意的動作,因為接下來的table應於迴圈 08/25 14:19
13F:→ soyoso: ReadyState條件確定時就載入了 08/25 14:19
14F:→ soyoso: 按下只是讓使用者看到表格內的內容,但實際上表格已被載入 08/25 14:20
15F:→ soyoso: 所以抓的到資料,這方面用回文寫到的開發人員工具來看就可 08/25 14:20
16F:→ soyoso: 以看的到 08/25 14:20
17F:→ soyoso: 原po可測試,在同意頁面,開發人員工具搜尋 元大台灣50 08/25 14:24
18F:→ soyoso: 就會看到該字串,已被載入了 08/25 14:24
好的 我在研究一下 感謝講解
※ 編輯: s52222b (123.205.177.120 臺灣), 08/25/2019 18:54:10