返回列表 上一主題 發帖

[發問] 處理一定時間 中斷執行

有時候如果資料量太大
Excel會跑超久
li_hsien 發表於 2014/9/1 11:45

附檔看看,是否有改善空間,可縮短程式運行時間.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 3# li_hsien
試試看
  1. Sub Search_Click()
  2.     Dim Key_URL As String, T As Date  '*****
  3.     Dim start_row As Integer
  4.     Dim flag_row As Integer
  5.     Dim page_no As Integer
  6.     T = Time  '程式執行開始時間       '******
  7.         
  8.     '多頁切換
  9.     page_no = 0
  10.     '起始欄位
  11.     start_row = 2
  12.    
  13.     '如果一直換頁 換到沒有筆數時 則停止(開始比數=結束比數 未增加)
  14.     Do Until (start_row = flag_row)
  15.         If Time > T + #12:10:00 AM# Then Exit Sub   '程式執行超過10分,離開程式
  16.         start_row = Worksheets("BC Data").Range("C65536").End(xlUp).Row + 1
  17.         Key_URL= "URL;http:// *****  & "pageoffset=" & page_no
  18.         
  19.         With Worksheets("BC Data").QueryTables.Add(Connection:=Key_URL, _
  20.                 Destination:=Worksheets("BC Data").Range("A" & start_row))
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 5# li_hsien
因你這是內部網頁,看不到原始檔,所以不知如何改善.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 7# li_hsien



如網頁上有這總頁數,可抓取這總頁數來跑迴圈.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 9# li_hsien
  1. Option Explicit
  2. Sub Ex()
  3.     Dim URL As String, A As Object, B As String
  4.     URL = "d:\aaa.htm"  '你內部網頁的網址
  5.     With CreateObject("InternetExplorer.Application")
  6.         .Navigate URL
  7.         .Visible = True
  8.         Do While .Busy Or .readyState <> 4:         Loop
  9.         Set A = .document.getElementsByTagName("b").Item(0)
  10.         '你這網頁只看到一個 <B>  的Element元素,所以是Item(0)第一個
  11.         B = A.innertext    '"第 1 頁,共 11 頁>>"
  12.         B = Trim(Mid(B, InStr(B, "共") + 1, InStrRev(B, "頁") - InStr(B, "共") - 1))
  13.         
  14.         'LTrim、RTrim 與 Trim 函數
  15.         '傳回一個沒有前頭空白 (LTrim)、後面空白 (RTrim) 或前後均無空白的Variant (String),其中所含為給定的字串。
  16.         
  17.         'InStr 函數
  18.         '傳回在某字串中一字串的最先出現位置,此位置為 Variant (Long)。
  19.         
  20.         'InStrRev函數
  21.         '傳回一個字串在另一個字串中出現的位置,從字串的末尾算起。
  22.         
  23.         MsgBox B
  24.         .Quit
  25.     End With
  26. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

getElementsByTagName找網頁的標簽名稱
(不過看版大的寫法  是不區分大小寫嗎?)
li_hsien 發表於 2014/9/11 11:06

是的:不區分大小寫的
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 13# li_hsien



如圖搜索一下,可了解如何在Excel抓取網頁資料
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 修行要繫緣修心,藉事練心,隨處養心。
返回列表 上一主題