返回列表 上一主題 發帖

[發問] 如何將從EXCEL內的資料貼入網站中(過程都由VBA自動執行)

本帖最後由 icestormer 於 2013-10-19 21:26 編輯

Sub Test()
  Dim oIe, myData As DataObject, x
  
  Set myData = New DataObject  '需引用 MS Form Object Library
  
  With Sheets("問題")
    .Range(.[A4], .[F4].End(xlDown)).Copy
  End With
  myData.GetFromClipboard
  
  Set oIe = CreateObject("internetExplorer.Application")
  With oIe
    '.Visible = False
    .navigate "http://www.evepraisal.com"
    Do While oIe.readystate <> 4: DoEvents: Loop
   
    .document.getElementById("raw_textarea").innerText = myData.GetText '填入
    .document.getElementById("result_submit").Click 'submit
   
    Application.Wait Now + TimeValue("00:00:05")  '等待5秒完成
   
    Set x = .document.getElementById("result_container")
  MsgBox x.All.tags("h4")(0).innerText

請問一下 MSGBOX這行 如果要把結果寫入 L22格內 要怎寫 呢?(不要顯示在MSGBOX上) 感謝

    .Quit
  End With
  
End Sub

TOP

回復 11# icestormer
  1.       '  MsgBox x.All.tags("h4")(0).innerText
  2.       [L22] = x.All.tags("h4")(0).innerText
複製代碼

TOP

回復 12# c_c_lai


   問題都解決了 感謝各位!

TOP

回復 2# stillfish00


    Dear S 大

我想請問  關於網頁物件的這個寫法裡面

.document.getElementById("raw_textarea").innerText = myData.GetText '填入
    .document.getElementById("result_submit").Click 'submit

這兩行字的解釋,應該要去msdn的哪裡查詢  或是從哪個物件去了解

我常常看到你們與G大&H大 都能夠運用自如

我還在學習的過程當中,發現查找資料是最難的一環,剩下來的應用,看範例應該都能略知一二 慢慢理解

請問這個部分 假設我是新手,想要了解網頁物件用法,應該從哪個地方切入

謝謝您的指教^^

TOP

Sub Test()
  Dim oIe, myData As DataObject, x
  
  Set myData = New DataObject  '需引用 MS Form Object Library
  
  With Sheets("問題")
    .Range(.[A4], .[F4].End(xlDown)).Copy
  End With
  myData.GetFromClipboard
  
  Set oIe = CreateObject("internetExplorer.Application")
  With oIe
    '.Visible = False
    .navigate "http://www.evepraisal.com"
    Do While oIe.readystate <> 4: DoEvents: Loop
   
    .document.getElementById("raw_textarea").innerText = myData.GetText '填入
    .document.getElementById("result_submit").Click 'submit
   
    Application.Wait Now + TimeValue("00:00:05")  '等待5秒完成
   
    Set x = .document.getElementById("result_container")


如果想分別捉取紅圈處亖個 1 total sell value  2 total buy value   3 total volume   分別存入 L22 L23 L24 格中[/size]''

請問要怎改呢? 感謝~




    MsgBox x.All.tags("h4")(0).innerText
    .Quit
  End With
  
End Sub

TOP

本帖最後由 stillfish00 於 2013-10-21 16:50 編輯

回復 14# handsometrowa
http://www.w3school.com.cn/html/index.asp 可以先看一下 HTML 的元素、標籤、屬性
http://www.w3school.com.cn/htmldom/index.asp 再看看節點、訪問方法(這是歸類在javascript下的,但都大同小異)

然後比對看過的範例,再對照原始碼可能會比較有收穫,其實就是在樹中根據特定屬性找節點。

TOP

回復 15# icestormer
  1.     Set x = .document.getElementById("results").tFoot.all.tags("span")
  2.     [L22].Value = x(0).innerText & " : " & x(3).innerText
  3.     [L23].Value = x(1).innerText & " : " & x(4).innerText
  4.     [L24].Value = x(2).innerText & " : " & x(5).innerText
複製代碼

TOP

回復 14# handsometrowa
搜尋   CreateObject("InternetExplorer.APPLICATION") 或 getElementById   會有答案的
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 18# GBKEE
回復 16# stillfish00

先感謝兩位前輩回覆我的問題,(題外話,請問怎麼一口氣回復兩個人阿,我是用複製貼上每次的回覆連結的@@")

昨天查找了一天,有點做白工的感覺,好像無頭蒼蠅  沒有想到G大跟我講的關鍵字 我單純搜尋就好,
(昨日用GOOGLE 瀏覽器 打上了Document.getElementsByName    跑到原文網站去,怎麼看怎麼不解起因結果)

今天得知兩位,上網爬了一下文章,轉載一下網址 ,希望給各位分享
原來網站是由每個元素構成的,每個元素都有自己的ID且不重複,(但是這個ID還可以不存在....)
難怪G大每次在抓網站資料的時候,要利用類似陣列元素一個一個抓
以下的網址  轉載了2006年的男丁格爾網站
http://blog.xuite.net/abgne/diary1/5896789#message_header
的簡單解釋,看了一下,稍能略知一二

原始的getElementsByName  
我先找到個網站http://blog.longwin.com.tw/2007/08/javascript_set_id_style_method_2007/
GetID 這個用法與stillfish00在16樓回我的依樣,是架設在JAVA 程式語言裡面的
沒有想到,碰個VBA,連其他軟體都要略知一二了

以上先跟各位分享,我慢慢再查找資料。

TOP

回復 17# stillfish00


   感謝 你及大家的幫忙!

TOP

        靜思自在 : 能付出愛心就是福,能消除煩惱就是慧。
返回列表 上一主題