昱得資訊工作室
麻辣學園
歡迎光臨, 訪客. 請先 登入註冊一個帳號.
您忘了 啟用您的帳號嗎?
2008-09-09, 03:06:04
首頁 說明 登入 註冊 贊助論壇 想當作者?
新聞: 請會員來訪時務必完成登入,為維護論壇品質,將不定期刪除長時間未登入的會員!!


+  麻辣家族討論區
|-+  MS Office 系列
| |-+  EXCEL
| | |-+  Excel程式區 (版主: hsieh)
| | | |-+  Web Query - 查詢參數/多頁處理/批次查詢範例
0 會員 以及 1 訪客 正在閱讀本篇主題. « 上一篇主題 下一篇主題 »
頁: [1] 向下 列印
作者 主題: Web Query - 查詢參數/多頁處理/批次查詢範例  (閱讀 1340 次)
leonchou
論壇維護群
*
離線 離線

文章: 1160


Web Query - 查詢參數/多頁處理/批次查詢範例
« 於: 2005-09-01, 15:14:26 »

此例是 HyTV電視節目綜合查詢,這個查詢的特性是只能查單日節目,而且查詢結果可能有多頁。尤其是多頁的問題:一般Web查詢參數是直接寫在網址即可,但在這個案例卻怎麼試也抓不到第一頁以後的查詢結果。
曾經在網上請教這個問題 (詳見ExcelHelp主題),有幸得到沙拉油兄的指導,初步結論是:像這種特殊案例要用查詢表物件 QueryTable 的 PostText 屬性傳送查詢參數才能解決。為何說是初步結論? 因為只知道解決方法,不知其原因,也沒有理論基礎。

以下範例有幾個重點:
1. 工作表中的查詢表已存在。
2. 日期批次查詢 - 系統日期至最近的禮拜天(Sunday)。
3. 時段批次查詢 - 只查0000~0300、1900~2400的資料。
4. 頁次批次查詢 - 依網頁特性判斷有多頁時的處理。
5. 該網頁允許在查詢參數中指定多個頻道(可由網頁原始碼中得知頻道代碼)。
Sub hytv_query_week()
With ActiveSheet.QueryTables(1)
 .Connection = "URL;http://www.hytv.com.tw/cgi/tvsearch.cgi"
 .WebTables = "9" ': On Error GoTo 1
 Set dt = Range("B2") '起始日來自 B2 的日期
 end_date = dt - Weekday(dt) + 8 '終止日為最近的禮拜天
 While dt <= end_date
  For Each tm In Array("0000&end=0300", "1900&end=2400")
   For pg = 1 To IIf(tm Like "00*", 1, 2) '1900-2400時段需查第2頁
   .PostText = "search_option=1&CH=hbo1&CH=star4&CH=star5&CH=tvbs5" & _
       "&start=" & tm & "&DATE=" & Format(dt, "yyyymmdd") & "&page=" & pg
   .Refresh 0 'BackgroundQuery:=False
   '查到資料後呼叫另一程序(to_data)做進一步處理
   If Not .ResultRange.Cells(1) Like "查無資料*" Then to_data
   Next pg
  Next
  dt = dt + 1
 Wend
End With
End Sub

當然這只是範例。你在處理其他案例之前,必須充分了解該網頁的特性、詳細的查詢方式,才能找出最適合的寫法。
關於應用實例,這個查詢方式預計將納入下一版的TV Program Manager,再次感謝沙拉油兄指點。
已記錄

oobird
凸槌的木工
論壇維護群
*
離線 離線

文章: 4334


Re: Web Query - 查詢參數/多頁處理/批次查詢範例
« 回覆文章 #1 於: 2005-09-01, 17:33:11 »

太強了,我只能望背興嘆。
已記錄

結廬待慧君
ccp
中學生
*
離線 離線

文章: 33


Re: Web Query - 查詢參數/多頁處理/批次查詢範例
« 回覆文章 #2 於: 2005-09-05, 14:29:57 »

 Grin 高手過招說的好像火星語喔! 能進入高手境地, 令人羨慕!!
好像二位俠客論劍一般! 
已記錄
leonchou
論壇維護群
*
離線 離線

文章: 1160


Re: Web Query - 查詢參數/多頁處理/批次查詢範例
« 回覆文章 #3 於: 2005-09-05, 23:06:23 »

嗚~ 我以為已經很白話了說,還被視為火星文... Embarrassed

Web查詢應該不算是冷門的功能吧!?
已記錄

gong
討論群板主
*
離線 離線

會員性別: 男
文章: 2221


Re: Web Query - 查詢參數/多頁處理/批次查詢範例
« 回覆文章 #4 於: 2005-09-05, 23:18:48 »

看的懂的!當聖經捧著
看不懂的!當火星文
我中文看有!英文看沒有!當梵文
不看的!只有當"不值半文"
已記錄
wang
高中生
*
離線 離線

文章: 101


Re: Web Query - 查詢參數/多頁處理/批次查詢範例
« 回覆文章 #5 於: 2005-09-06, 00:02:46 »

不錯.不錯
再加上之前.leonchou前輩的.<結果好像是我想的最多>
似禪非禪.非禪亦禪.愈來愈有禪意了... Cheesy
已記錄
頁: [1] 向上 列印 
« 上一篇主題 下一篇主題 »
跳到:  


本頁花了 0.288 秒, 以及 20 次的資料庫查詢.