標題:
彙入證交所的資料無法更新
[打印本頁]
作者:
lman
時間:
2010-7-24 17:09
標題:
彙入證交所的資料無法更新
這是證交所網址http://www.twse.com.tw/ch/trading/exchange/MI_INDEX/genpage/Report
201007
/A112
20100723
MS.php?
因已爬文一週還是無法解決
如匯入2010/7/19,再更新時,每次更新後仍是顯示2010/7/19的資料,而非當日,
是否可以在A1設定日期
然後再依日期更新
請高手指點,拜託!感恩!!
[attach]1956[/attach]
作者:
GBKEE
時間:
2010-7-24 19:31
回復
1#
lman
Sub Ex()
With ActiveSheet.QueryTables(1)
.Connection = _
"URL;http://www.twse.com.tw/ch/trading/exchange/MI_INDEX/genpage/Report" & Format(ActiveSheet.[A1], "YYYYMM") & "/A112" & Format(ActiveSheet.[A1], "YYYYMMDD") & "MS.php?select2=MS&chk_date=" & Format(ActiveSheet.[A1], "EE/MM/DD")
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "8"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End Sub
複製代碼
作者:
lman
時間:
2010-7-24 22:48
這就是專業
不得不服
非常感謝版主GBKEE
協助解決
作者:
lman
時間:
2010-7-25 01:44
版主GBKEE大大
所寫程式可依日期匯入資料無誤
但是有一點很好奇提出問一下(因為我不懂)
程式碼內容沒有匯入資料存放的儲存格
為何放A3可以自動更新
如果資料剪下複製B3也可以自動更新
似乎會自動搜尋更新
如果是指定匯入資料存放的儲存格
那要如何修改
謝謝
作者:
GBKEE
時間:
2010-7-25 17:57
回復
4#
lman
程式碼內容沒有匯入資料存放的儲存格
為何放A3可以自動更新
因為程式套上你附檔工作表中已有一個外部資料來源所傳回之資料的查詢表 並指定了網址
只要沒有刪除這查詢表 執行程式 就會更新資料
With ActiveSheet.QueryTables(1) '代表指定工作表中外部資料來源所傳回之資料的
第一個查詢表
.Connection = _
"URL;
http://www.twse.com.tw/ch/trading/exchange/MI_INDEX/genpage/Report
" & Format(ActiveSheet.[A1], "YYYYMM") & "/A112" & Format(ActiveSheet.[A1], "YYYYMMDD") & "MS.php?select2=MS&chk_date=" & Format(ActiveSheet.[A1], "EE/MM/DD") '
查詢表的網址
如果是指定匯入資料存放的儲存格
Sub Ex()
Dim Rng As Range, OldRng$
Set Rng = ActiveSheet.[J1] '指定新的位址 且已指定日期
On Error GoTo QueryTablesAdd
With Rng.QueryTable
.Connection = _
"URL;http://www.twse.com.tw/ch/trading/exchange/MI_INDEX/genpage/Report" & Format(Rng, "YYYYMM") & "/A112" & Format(Rng, "YYYYMMDD") & "MS.php?select2=MS&chk_date=" & Format(Rng, "EE/MM/DD")
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "8"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End
QueryTablesAdd:
OldRng = Rng.Value
Rng.Value = ""
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.twse.com.tw/ch/trading/exchange/MI_INDEX/genpage/Report201007/A11220100723MS.php?select2=MS&chk_date=99/07/23", Destination:=Rng)
.Name = "大盤統計資訊"
.WebTables = "8"
.Refresh BackgroundQuery:=False
.ResultRange.ClearFormats
End With
Rng.Value = OldRng
Resume
End Sub
複製代碼
作者:
lman
時間:
2010-7-25 18:42
科技始終來自人性
程式碼稍為修改
可讓執行呈現更簡易
謝謝 版主GBKEE
二則程式碼皆已收下研究中
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)