Board logo

標題: Sendkey問題 [打印本頁]

作者: FAlonso    時間: 2011-10-3 17:10     標題: Sendkey問題

利用VBA開啓Internet Explorer, 想Copy and Paste 至某worksheet
  1. Sub callraceresult()
  2. Dim myIE As Object
  3. Dim mydate, myrace, myvenue

  4. mydate = Sheet1.Cells(4, 1)
  5. myrace = Sheet1.Cells(4, 2)
  6. myvenue = Sheet1.Cells(4, 3)

  7. Set myIE = CreateObject("InternetExplorer.application")
  8. myIE.Visible = True
  9. myIE.navigate xxxxxxxx

  10. While myIE.busy
  11. DoEvents
  12. Wend

  13. myIE.SendKeys "^A" <=這裡出錯了 Error 438, 物件不支援此方法
  14. myIE.SendKeys "^C"

  15. End Sub
複製代碼
不論輸入什麼指令, sendkey部份都是出錯, 還有應該怎樣把資料抄出特定worksheet?
謝謝
作者: GBKEE    時間: 2011-10-3 19:47

回復 1# FAlonso
Application.SendKeys "^A"
Application.SendKeys "^C"
作者: FAlonso    時間: 2011-10-3 20:05

G老師的sendkey,只能在VBA介面使用, 我希望在新開的Internet Explorer用, copy and paste 網頁中的所有資料
謝謝
作者: oobird    時間: 2011-10-3 20:16

沒有選取網頁數據或範圍的動作能複製到什麼?
也許用web查詢較適合。
作者: FAlonso    時間: 2011-10-3 20:53

我在網上找到這個
myIE.ExecWB OLECMDID_SELECTALL, OLECMDEXECOPT_DONTPROMPTUSER
myIE.ExecWB OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT

再找worksheet paste
測試暫時有效
作者: Hsieh    時間: 2011-10-3 21:13

回復 1# FAlonso
  1. Sub nn()
  2. Dim MyIE As InternetExplorer
  3. Set MyIE = CreateObject("InternetExplorer.Application")
  4. With MyIE
  5. .navigate "http://gb.twbts.com/index.php?action=printpage;topic=11352.0"
  6. Do Until .readyState = READYSTATE_COMPLETE
  7. Loop
  8. .ExecWB OLECMDID_SELECTALL, OLECMDEXECOPT_DONTPROMPTUSER
  9. .ExecWB OLECMDID_COPY, OLECMDEXECOPT_DONTPROMPTUSER
  10. Sheet1.[a1].Select
  11. Sheet1.Paste
  12. .Quit
  13. End With
  14. Set MyIE = Nothing
  15. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)