標題:
[發問]
QueryTables 查詢股票問題
[打印本頁]
作者:
morrishou
時間:
2016-4-3 22:46
標題:
QueryTables 查詢股票問題
各位高手專家好
小弟在使用QueryTable 時,
會在連續查詢數筆資料之後突然發生 400 的錯誤,而造成資料一直查不完,想請教是發生什麼問題呢?
程式碼和附檔如下 感謝回覆
Sub 抓取股票資料()
Dim StartTime
Dim i
Dim j
Dim StockNumber As String '股票代號
i = 2
If 確認工作表存在("Temp") <> True Then
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Temp"
End If
Application.ScreenUpdating = False
清除工作表 ("Temp")
Set Tempsheet = Sheets("Temp")
Do While Sheet1.Cells(i, 1) <> ""
If Sheet1.Cells(i, 2) = "" Then
StockNumber = Sheet1.Cells(i, 1)
GetCurrentPrice (StockNumber)
End If
Sheet1.Cells(i, 2) = StockName
Sheet1.Cells(i, 3) = CurrentPrice
Sheet1.Cells(i, 4) = PriceChange
Sheet1.Cells(i, 5) = StockQuantity
i = i + 1
Loop
Application.StatusBar = "股票資料抓取完成"
Application.ScreenUpdating = True
Sheet1.Activate
Sheets("Temp").Delete
End Sub
Sub GetCurrentPrice(StockNumber As String)
Dim ur As String
Application.StatusBar = "取得股票 " & StockNumber & " 股價資料中......"
ur = "https://tw.finance.yahoo.com/q/q?s=" & StockNumber
' MsgBox ur
Tempsheet.Range("A:L").Clear
With Tempsheet.QueryTables.Add(Connection:="URL;" & ur, Destination:=Tempsheet.Range("A1"))
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "6"
.Refresh BackgroundQuery:=False
.Delete
End With
StockName = Tempsheet.Cells(3, 1)
CurrentPrice = Tempsheet.Cells(3, 3)
PriceChange = Tempsheet.Cells(3, 6)
StockQuantity = Tempsheet.Cells(3, 7)
End Sub
[attach]23711[/attach]
作者:
GBKEE
時間:
2016-4-4 06:46
回復
1#
morrishou
表單己經顯示;不能再以強制回應的方式顯示此表單 (錯誤 400)
複製代碼
附檔沒有表單,2003下執行你的程式沒看到(錯誤 400)
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)