返回列表 上一主題 發帖

[發問] 請問這可設定等幾秒沒開網頁或網頁錯誤就執行下一筆嗎,謝謝

本帖最後由 joey0415 於 2013-9-17 21:26 編輯

如果工作表上的你想要的某格是空字串,就跳過
instr

會出錯的地方
用On Error Resume Next

如果某網頁是空的或特殊字元也跳過

========================

網路上找到的我自己保存的如下,可以更新

                                   t1 = Timer
                                    Do Until oWin.ReadyState = 4
                                        DoEvents    '經常就在這停下不運行了
                                        If Timer > t1 + 3 Then oWin.Refresh: t1 = Timer  '這裡刷新一下,自己去調整一下多長時間刷新
                                    Loop

TOP

不要用貼上的方法,改用例如

worksheetI("sheet1").cells(1,2)=worksheetI("sheet2").cells(1,2)

這樣就不會出現上面的問題

TOP

本帖最後由 joey0415 於 2014-9-3 11:19 編輯

回復 14# wufonna

https://djinfo.cathaysec.com.tw/Z/ZC/ZCC/ZCC.DJHTM?A=1101

代碼變數自己改改就行
  1. Sub 巨集1()
  2. '
  3.     With ActiveSheet.QueryTables.Add(Connection:= _
  4.         "URL;https://djinfo.cathaysec.com.tw/Z/ZC/ZCC/ZCC.DJHTM?A=1101", Destination _
  5.         :=Range("$A$1"))
  6.         .WebFormatting = xlWebFormattingNone
  7.         .WebTables = "3"
  8.         .Refresh BackgroundQuery:=False
  9.         .Delete
  10.     End With
  11. End Sub
複製代碼
用這種網站抓資料比較用,不用等幾秒...

網址又清楚

yam會下載一堆沒用的東西

把所有抓下來排序一下,就知道有哪些股是沒有抓完整的,再抓一次就可以了…

通常下載都是會找穩定、速度快,純資料為最佳

參考

TOP

回復 18# wufonna

其實就是錄製好後,把某行註解後,再執行,如果可以就表示該行不需行,因為錄製的通常會有很多不要的代碼
錄久了就知道…
最後加上.delete
表示取消連線
  1. Sub 巨集1()
  2.     With ActiveSheet.QueryTables.Add(Connection:= _
  3.         "URL;https://djinfo.cathaysec.com.tw/Z/ZC/ZCX/ZCXNEWCATHAYSEC.DJHTM?A=2882", _
  4.         Destination:=Range("$A$1"))
  5.         .WebFormatting = xlWebFormattingNone
  6.         .WebTables = "2,3"
  7.         .Refresh BackgroundQuery:=False
  8.         .Delete
  9.     End With
  10. End Sub
複製代碼

TOP

        靜思自在 : 要批評別人時,先想想自己是否完美無缺。
返回列表 上一主題