2020年10月24日 星期六

Excel VBA 爬蟲 QueryTables.Add 網路資料擷取應用

 這邊還是強調歐,請尊重網路資源,切勿濫用!!!!這點超重要的。

筆者就以台灣證卷交易所的"外資及陸資持股統計"做VBA QueryTables.Add 簡易教學,QueryTables.Add舉繁不及載,相關細部參數,請各位讀者花點時間參閱MSDN或網路多多爬文。

SUB 程式部分:

筆者在確立網址後,做了一個單一引數控制的副程式,叫他"籌碼分佈_證交所版"。

Sub 籌碼分佈_證交所版(A) '籌碼分佈_證交所版 'A為日期

Set book1 = Sheets("工作表1")

Set bookshow = book1.QueryTables.Add_

(Connection:="TEXT;https://www.twse.com.tw/fund/MI_QFIIS?response=csv&date=" & A & "&selectType=ALLBUT0999", Destination:=book1.Range("A1"))

    With bookshow
    
        .TextFileParseType = xlDelimited
        
        .TextFileCommaDelimiter = True
        
        .Refresh
    
    End With

End Sub


這個副程式該怎用哩?可以自己設計一個按鈕,可以是ActiveX按鈕,也可以是表單控制項按鈕。

以ActiveX控制項為例:

步驟一、開啟一個空白的EXCEL,並在VBA編輯視窗下,新增一個"模組"(Module),將上述副程式複製並貼在模組內。

步驟二、產生一個ActiveX按鈕命令按鈕,並新增vba 程式碼如下:

Private Sub CommandButton1_Click()

Sheets("工作表1").Cells.Clear

Call 籌碼分佈_證交所版("20200327")

 End Sub

執行結果:

image

沒有留言:

張貼留言

我的雷達:2024/11/15

  似乎有一種不安的味道