有關EXCEL VBA 抓取不到完整網址CSV問題
- 帖子
- 36
- 主題
- 7
- 精華
- 0
- 積分
- 76
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- 2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-10-1
- 最後登錄
- 2016-3-21
|
回復 22# joey0415
想請教大大
下列網址
http://www.twse.com.tw/ch/trading/block/BFIAUU/BFIAUU.php?combination_choice=sub&cno=1&input_date=102/11/06
可不可以也用querytable呢? |
|
|
|
|
|
|
|
- 帖子
- 36
- 主題
- 7
- 精華
- 0
- 積分
- 76
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- 2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-10-1
- 最後登錄
- 2016-3-21
|
回復 jak
GBKEE 發表於 2013-11-17 09:42 
若是我想copy下列網址某天、某幾家的資料,http://stocker.com.tw/
可否請大大撥冗幫忙,有附檔 |
-
-
明細.rar
(5.16 KB)
|
|
|
|
|
|
|
- 帖子
- 36
- 主題
- 7
- 精華
- 0
- 積分
- 76
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- 2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-10-1
- 最後登錄
- 2016-3-21
|
回復 44# GBKEE
太神了,下載又快又穩,感謝大大幫忙,
還有抓下來的結果A欄是"日期",有沒有辦法改成該公司的"代號"呢? |
|
|
|
|
|
|
|
- 帖子
- 36
- 主題
- 7
- 精華
- 0
- 積分
- 76
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- 2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-10-1
- 最後登錄
- 2016-3-21
|
本帖最後由 jak 於 2014-5-24 19:11 編輯
回復 46# GBKEE
大大不好意思,這麼晚才回文,修改後執行出現錯誤,可以請大大看一下我哪裡放錯嗎?感謝- Option Explicit
- Dim FormDLL As String, xDate As Date, Sh As Worksheet ', Msg As Boolean
- Sub Ie_Table()
- Dim URL As String, A As Object, i As Integer, E As Range
- Set_FormDLL
- URL = "http://stocker.com.tw/"
- xDate = Date - 1
- If Weekday(xDate, vbMonday) > 5 Then
- Do While Weekday(xDate, vbMonday) > 5
- xDate = xDate - 1
- Loop
- End If
- Set Sh = Sheets.Add '結果顯示在新增的工作表
- Sh.Name = Format(xDate, "yyyy-mm-dd") '命名為日期
- With CreateObject("InternetExplorer.Application")
- .navigate URL
- .Visible = True
- For Each E In Sheets("下載代號名單").Range("A3", Sheets("下載代號名單").[A3].End(xlDown))
- Do While .Busy Or .ReadyState <> 4: Loop
- With .document.getElementsByTagName("input")
- .Item("StoNum").Value = E
- .Item("datestart").Value = Format(xDate, "yyyy-mm-dd")
- For i = 0 To .Length - 1
- If .Item(i).Type = "submit" Then .Item(i).Click
- Next
- End With
- Do While .Busy Or .ReadyState <> 4: Loop
- Set A = .document.getElementsByTagName("TABLE")
- Ep A(A.Length - 1).outerHTML, E '修改一下
- Next
- .Quit
- End With
- Remove_FormDLL
- End Sub
- Sub Ep(S As String, Code As StdFont)
- Dim D As New DataObject, E As Shape
- 'DataObject 物件 在進行轉換動作時,做為格式化文字資料的暫存區域。其也可以暫存和儲存在 DataObject 的文字片段相關的格式。
- '宣告 Dim D As New DataObject '須在工具-> 設定引用項目加入 新增引用 Microsoft Forms 2.0 Object Library ,專案 加入一表單即可
- With D
- .SetText S
- .PutInClipboard
- With Sh.UsedRange
- If .Rows.Count = 1 Then
- .Cells(1).Select
- Else
- .Rows(.Rows.Count).Cells(2).Select
- End If
- Sh.PasteSpecial Format:="Unicode 文字"
- With ActiveCell
- .Cells(2, 1) = "代號"
- .Cells(3, 1).Resize(.Parent.UsedRange.Rows.Count - .Cells(3, 1).Row) = Code
- End With
-
- End With
- End With
- End Sub
- Sub Set_FormDLL() '新增引用 Microsoft Forms 2.0 Object Library
- On Error Resume Next
- FormDLL = "FM20.DLL"
- ThisWorkbook.VBProject.References.AddFromFile "C:\windows\system32\FM20.DLL"
- '"C:\windows\system32\"是2003版的路徑,2003以上版本需修改路徑
- End Sub
- Sub Remove_FormDLL() '刪除引用 Microsoft Forms 2.0 Object Library
- Dim D As Object
- For Each D In ThisWorkbook.VBProject.References
- If UCase(D.fullpath) Like "*" & FormDLL Then
- ThisWorkbook.VBProject.References.Remove D
- End If
- Next
- End Sub
複製代碼 |
|
|
|
|
|
|
|
- 帖子
- 36
- 主題
- 7
- 精華
- 0
- 積分
- 76
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- 2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-10-1
- 最後登錄
- 2016-3-21
|
回復 48# GBKEE
大大客氣了,要說不好意思的是我,這樣勞煩大大,
可以執行,結果就是我想像很久的樣子(按N個讚),太感謝了 ~~~ |
|
|
|
|
|
|
|