返回列表 上一主題 發帖

[發問] 載入網頁資料的問題

回復 1# yuch8663
Const 陳述式
  1. 語法
  2. [Public | Private] Const constname [As type] = expression
  3. Const 陳述式的語法具有下列幾項單元:
  4. 單元 描述
  5. Public 選擇性引數。模組層次所使用的關鍵字,用來宣告在所有模組�堛漫狾陬{序中都可以使用常數。 不可在程序中使用此項宣告。
  6. Private 選擇性引數。模組層次的關鍵字,用來宣告只在已宣告的模組�堣~可以使用常數。不可在程序中使用此項宣告。
  7. Constname 必要的引數。常數的名稱,遵循變數命名規格。
  8. Type 選擇性引數。常數的資料型態,可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal (目前未支援)、Date、String,或是 Variant。使用 As type 子句來宣告常數。
  9. Expression 必要的引數。文字、其它常數或任何算術及邏輯運算子的組合,但 Is 則除外。
  10. 請注意
  11. 常數皆預設為私有的,程序中的常數都是私有的,常數的可見性不可以改變。在一般模組�堙A模組層次常數的有效範圍可以用 Public 關鍵字來改變。然而,在物件類別模組�堙A常數只能為私有變數,且無法由 Public 關鍵字來改變其可見性。
  12. 若要把多個常數宣告式放在一行�堙A則用逗號來分隔每個常數指定式。當多個常數宣告放在同一行�堙A若使用 Public 或 Private 關鍵字,則適用於全部同一行的常數。
  13. '*******************************
  14. 指定給常數的運算式不可以是變數、使用者自訂函數或 Visual Basic 內建的函數 (例如 Chr)。
  15. '********************************
  16. 附註 常數可以使您的程式較容易修改。和變數不一樣的是,在程式執行時,常數可以避免不小心錯誤的修改。
  17. 如果沒有明確的使用 As type 來宣告常數的型態,則常數會選用最適合 expression 的型態。
  18. 在 Sub、Function 或 Property 程序�堜珓襲i的常數,只適用在該程序的區域�堙C在程序外所宣告的常數,則是在宣告它的模組中所定義的。在任何可以使用運算式的地方,就可以使用常數。
複製代碼
可修改如下
  1. url = "http://www.xe.com/currencytables/?from=USD&date=" & a & "-" & b & "-" & c    ' 正確的
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2013-7-1 10:25 編輯

回復 1# yuch8663
  1. Sub Test()
  2. Dim url As String
  3.     'url = "URL;http://www.xe.com/zh-HK/currencytables/?from=USD&date=" & a & "-" & b & "-" & c   ' 正確的
  4.                                                                         'A,B,C -> YYYY-MM-DD
  5.     url = "URL;http://www.xe.com/zh-HK/currencytables/?from=USD&date=" & Format(Date - 1, "YYYY-MM-DD")
  6.                                                                         '日期須小於當日
  7.     With Sheets("Sheet1")
  8.         .Cells.Clear
  9.         For Each e In .QueryTables
  10.             e.Delete
  11.         Next
  12.         With .QueryTables.Add(Connection:=url, Destination:=.[a1])
  13.             .WebSelectionType = xlSpecifiedTables
  14.             .WebFormatting = xlWebFormattingNone
  15.             .WebTables = """historicalRateTbl"""
  16.             .WebConsecutiveDelimitersAsOne = True
  17.             .WebSingleBlockTextImport = False
  18.             .WebDisableDateRecognition = False
  19.             .WebDisableRedirections = False
  20.             .Refresh BackgroundQuery:=False
  21.         End With
  22.     End With
  23. End Sub
複製代碼
回復 5# HSIEN6001
Sub EX整頁下載(寫入表格, 寫入位置, theURL)   沒加註是 Public 就是公用程序 可直接呼叫

Private Sub EX整頁下載(寫入表格, 寫入位置, theURL)  加註為私用程序
私用程序 用RUN 呼叫
Run "A下載公用程式.EX整頁下載", "暫時", Sheets("暫時").Range("B" & Rows.Count).End(xlUp).Offset(1), "http://siis.twse.com.tw/server-java/STAMAK03?TYPEK=otc&isnew=&colorchg=1&year=102&smonth=01&emonth=12&step=1&order=12"

工作管理員中有沒關閉的IE,可能是在VBA中開啟後沒關閉吧
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 7# HSIEN6001
雖然是 On Error Resume Next       '***有些table沒Rows資料會產生錯誤 不理會它,程式繼續走
'
'
但最後還是會 .Quit        '關閉網頁
照道理不會殘留IE的.
要用VBA 關閉殘留IE,還沒試過.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 【行善要及時】行善要及時,功德要持續。如燒開水一般,未燒開之前千萬不要停熄火候,否則重來就太費事了。
返回列表 上一主題