標題:
innerText 解析
[打印本頁]
作者:
DanielWONG
時間:
2017-10-28 09:19
標題:
innerText 解析
VBA 代碼中使用
“”
Set TD3 = IE.document.getElementById("cp_pLeft")
W.Range(1 & 1).Value = TD3.innerText
“”
結果可以看到很長的TD3.innerText內容, 如下
“”
收市價(港元) 219.200 升跌 +1.000成交量|手 2.79百萬買價(延遲)1 219.20前收市價/開市 218.20 / 218.20
升跌(%) +0.458%成交金額 6.12億賣價(延遲)1 219.40波幅 218.20 - 220.20
均價 219.221沽空額/比率(%)(27/10) 4.75千萬 / 7.756%
市盈率(倍)/TTM 46.050 / 42.563每股盈利(港元)(截至 2016/12) 4.760
……
“
我只要兩樣內容,成交金額 6.12 和 均價 219.221, 具體說只要 6.12 和219.221, 請問怎麼寫後面的解析 TD3.innerText 代碼?
多謝!
作者:
Scott090
時間:
2017-11-1 06:17
回復
1#
DanielWONG
試看看這樣可以嗎?
Sub test()
Dim i&, strT$, strAA$, strQQ$
Dim Ans1#, Ans2#
''' strQQ = TD3.innerText
strQQ = "收市價(港元) 219.200 升跌 +1.000成交量|手 2.79百萬買價(延遲)1 219.20前收市價/開市 218.20 / 218.20" & _
"升跌(%) +0.458%成交金額 6.12億賣價(延遲)1 219.40波幅 218.20 - 220.20" & _
"均價 219.221沽空額/比率(%)(27/10) 4.75千萬 / 7.756%" & _
"市盈率(倍)/TTM 46.050 / 42.563每股盈利(港元)(截至 2016/12) 4.760"
Ans1 = FindText(strQQ, "成交金額")
Ans2 = FindText(strQQ, "均價")
Debug.Print Ans1, Ans2
End Sub
Function FindText(strQQ$, QQ$)
Dim strAA$, a%, b%
a = InStr(strQQ, QQ)
b = Len(QQ) - 1
strAA = ""
For i = 1 To 10
strT = Mid(strQQ, i + a + b, 1)
If Asc(strT) <> 32 Then '去除空格
If Asc(strT) < 46 Or Asc(strT) > 57 Then Exit For '數字的 ASCII碼
strAA = strAA & strT
End If
Next
FindText = strAA
End Function
複製代碼
建議把你的 VBA 貼出,也許有其他的人不用解析字串就可以有答案
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)