返回列表 上一主題 發帖

[發問] 請教 如何在EXCELL取得該網站之"即時估計淨值"

回復 30# yan2463

我有下載25樓的VBA,想以這個檔案延伸
1.因需要按鈕才會更新,想請問是否有每一分或十分鐘檔案可自行更新
2.如要用按鈕更新,如何才能在在A工作表更新鈕,在工作表B更新
3.對VBA真的不熟,所以不知這樣問是否OK

TOP

回復 32# yan2463

這隻程式不適合定時執行,但還是貼上來給你參考!!
  1. Option Explicit
  2. Public doneT As Boolean
  3. Sub Exnets123() '
  4.     Dim E As Object, tTime, tabtxt As String
  5.     With CreateObject("InternetExplorer.Application")
  6.         '.Visible = True 'False
  7.         .navigate "http://www.yuantaetfs.com/#/RtNav/Index"
  8.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  9.         Application.SendKeys "~", True   '按下同意鍵
  10.         '.document.getElementsByTagName("button")(0).Click  '按下同意鍵
  11.         tTime = Timer
  12.         Do
  13.             Set E = .document.getElementsByTagName("TABLE")(21)  '改(22)也可,E.all.Length="數量要跟著改"
  14.             DoEvents
  15.             If Timer - tTime > 5 Then MsgBox "請修改 E.all.Length =" & E.all.Length: Exit Do  '確定無誤後可關閉
  16.         Loop Until Not E Is Nothing And E.all.Length = 415  '數量可能會不太一樣
  17.         tabtxt = .document.getElementsByTagName("TABLE")(21).outerHTML
  18.         tabtxt = Replace(tabtxt, "<span class=""ng-hide"" ng-show=""o.navFluct>0"">▲</span>", "")
  19.         tabtxt = Replace(tabtxt, "<span class=""ng-hide"" ng-show=""o.navFluct<0"">▼</span>", "")
  20.         tabtxt = Replace(tabtxt, "<span class=""ng-hide"" ng-show=""o.priceFluct>0"">▲</span>", "")
  21.         tabtxt = Replace(tabtxt, "<span class=""ng-hide"" ng-show=""o.priceFluct<0"">▼</span>", "")
  22.         .document.body.innerHTML = tabtxt
  23.         .ExecWB 17, 2       '  Select All
  24.         .ExecWB 12, 2       '  Copy selection
  25.         With ActiveSheet    ''修改你要貼上的工作表
  26.             .Cells.Clear
  27.             .[a1].Select
  28.             .PasteSpecial 'NoHTMLFormatting:=True  '(取消註解,改成純文字貼上)
  29.         End With
  30.         'Selection.Columns.AutoFit
  31.         .Quit        '關閉網頁
  32.     End With
  33.     If doneT = True Then
  34.         Application.OnTime Time + #12:00:10 AM#, "Exnets123" '間隔多少時間開啟
  35.     End If
  36. End Sub
  37. Sub 開關() '另設按鈕
  38. doneT = IIf(doneT = True, False, True)  '自行修改適合的方式
  39. MsgBox IIf(doneT = True, "定時開啟", "定時關閉") '開啟再去執行Exnets123程式就能間隔執行,關閉就能取消間隔執行
  40. End Sub
複製代碼

TOP

        靜思自在 : 愛不是要求對方,而是要由自身的付出。
返回列表 上一主題