返回列表 上一主題 發帖

[發問] 請問如何修改才能載入表格 謝謝

[發問] 請問如何修改才能載入表格 謝謝

Option Explicit

Dim ie As Object   '模組最頂端 Dim 供這模組的程序使用的變數
Sub AllFile()
    Dim i As Integer, v, Y As Integer, S As String
    Set ie = CreateObject("internetexplorer.application")   '使用此方式可以免除 "設定引用項目"

           GetDividend (2330)



End Sub


Private Sub GetDividend(ByVal ss As String)     '取股利網頁
  Dim strText As String
  Dim i As Integer, j As Integer, xTable As Object
  With CreateObject("msxml2.xmlhttp")
    .Open "GET", "http://pscnetinvest.moneydj.com.tw/z/zc/zcq/zcqa/zcqa_" & ss & ".djhtm", False
    .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    .send
    strText = BinToStr(.responseBody, "BIG5") '要注意網頁編碼
  End With
  With CreateObject("htmlfile")
        .Write strText
        Set xTable = .all.tags("table")(2)
        With Sheet2
            .Cells.Clear
            For i = 0 To xTable.Rows.Length - 1
                For j = 0 To xTable.Rows(i).Cells.Length - 1
                    .Cells(i + 1, j + 1) = xTable.Rows(i).Cells(j).innertext
                Next
            Next
        End With
  End With
End Sub




Function BinToStr(arrBin, strChrs)
    With CreateObject("ADODB.Stream")
        .Type = 2
        .Open
        .Writetext arrBin
        .Position = 0
        .Charset = strChrs
        BinToStr = .ReadText
        .Close
    End With
End Function

原型GetDividend-2019-a().zip (15.75 KB)

table 包裹著 form ,可能是故意防止人複製的,網頁才這麼寫,請教 大大如何修改,謝謝

TOP

本帖最後由 n7822123 於 2019-6-14 03:16 編輯

回復 2# wufonna


我也不知道怎麼破解~~~~希望有高手能解答

如果你只是想抓資料的話,可以換個網站喔,我覺得這個網站還不錯

https://histock.tw

這是附件,我抓那個網站資料,做出來的

理財策略V1.0.rar (37.78 KB)

使用方法:第一欄輸入股票代號即可,按"抓取資料"即可
使用期限:直到嗨投資改網頁格式
免責聲明:裡面很多我的主觀判斷,套牢虧錢一概不負責
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

本帖最後由 wufonna 於 2019-6-14 15:38 編輯

GetDividend-2019-a.zip (163.55 KB) 回復 3# n7822123
謝謝 n7822123 大 的資料程式 我參考看看,https://histock.tw/tw網頁內沒有損益表(年表)網頁  資產負債表(年表)網頁 ,我是用 GBKEE 版大的程式改的,可能網頁的內容多了 form,而程式捉不到損益表(年表)網頁  資產負債表(年表)網頁 的資料,麻煩 大大 看看

GetDividend-2019-a.zip (163.55 KB)

TOP

本帖最後由 n7822123 於 2019-6-15 03:04 編輯

回復 4# wufonna


https://histock.tw/tw網頁內沒有損益表(年表)網頁  資產負債表(年表)網頁 ???

你確定嗎!? 也許你沒有逛透~~~季表做基本運算就可以得到年表了

可以抓資料的地方太多了,如果你要堅持那個網站............

那我也沒辦法幫到你了,看有沒有高手可以幫你



程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

Sub get_stock()
Dim Url, HTMLsourcecode, GetXml
Set HTMLsourcecode = CreateObject("htmlfile")
Set GetXml = CreateObject("msxml2.xmlhttp")
Url = "http://pscnetinvest.moneydj.com.tw/z/zc/zcq/zcqa/zcqa_2330.djhtm"
With GetXml
.Open "GET", Url, False
.Send

HTMLsourcecode.body.innerhtml = .Responsetext
Set Table = HTMLsourcecode.all.tags("table")(2).Rows
For i = 0 To Table.Length - 1
For j = 0 To Table(i).Cells.Length - 1
ActiveSheet.Cells(i + 1, j + 1) = Table(i).Cells(j).innertext
Next j
Next i
End With
Set HTMLsourcecode = Nothing '釋放記憶體
Set GetXml = Nothing
End Sub '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

TOP

回復 5# n7822123
我主要是取網頁內的 稅後盈餘 / 股東權益 ,做 股東權益報酬率  (ROE) = 稅後盈餘 / 股東權益,我在做看看,謝謝 大大

年合併損益表 http://pscnetinvest.moneydj.com.tw/z/zc/zcq/zcqa/zcqa_1723.djhtm
年合併資產負債表 http://pscnetinvest.moneydj.com.tw/z/zc/zcp/zcpb/zcpb_1723.djhtm

1.jpg (203.17 KB)

1.jpg

2.jpg (182.82 KB)

2.jpg

3.jpg (135.46 KB)

3.jpg

TOP

回復 6# f3202
非常感謝 大大,程式完全可執行了

5.jpg (243.51 KB)

5.jpg

GetDividend-2019-a-good.zip (180.79 KB)

TOP

回復 8# wufonna
改過了,請 大大 看看,謝謝

6.jpg (238.32 KB)

6.jpg

GetDividend-2019-a-good.zip (58.94 KB)

TOP

回復 6# f3202


學習了~~~~看來關鍵在於

htmlfile物件.body.innerhtml = .Responsetext

只是什麼時候用 .write 什麼時候用 .body.innerhtml

不知道有沒有辦法分辨,還是就二選一猜看看 {:3_59:}
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

        靜思自在 : 改變自己是自救,影響別人是救人。
返回列表 上一主題