2013-04-18 111 views
-1

我是VBA的新手,我需要將this form的值提取到Excel電子表格中。一旦用戶點擊估算值,就會顯示匯率。 Excel電子表格將具有與表格中的字段名稱匹配的列標題。使用VBA將數據從Web窗體讀取到Excel?

表單中的'發送金額'爲50,100,500,1000,2500和7000.'From'國家將始終爲'美國'。工作表中應填入表格其他字段中針對「美國」及其相應匯率的所有可能選項。

enter image description here

+0

@Santosh:當我手動選擇該字段中的值(美國,美元,印度,10分鐘服務 - 印度服務,1000),並點擊估計,我沒有得到任何結果...網站保持在顯示「連接....」 –

+1

@SiddharthRout即使我試過,也沒有得到任何結果。可能該網站將在週末進行升級。但我確認該網站的作品,您可以在某個時間之後或直接在星期一嘗試。 – Santosh

+0

@Santosh:該網站不開放。已經嘗試了兩天...我放棄:) –

回答

0

桑托斯......這樣做有

  • 攔截Web服務XML
  • 兩種方式創建連接到底層數據庫。

你需要知道DB細節或者在VBA中爲XML創建COM模塊(這又需要服務器細節)

如果你什麼都不知道。我建議轉到youtube並查找「VBA com連接」或「VBA XML」。有一些不錯的視頻,在開放的論壇上交付服務器的詳細信息將不是一個理想的事情要做

+0

謝謝你的回覆。你可以寫代碼嗎? – Santosh

+0

Santosh ..我可以編寫代碼,但我需要服務器的細節,就像我說的。在開放的論壇上提供服務器詳細信息不可取。 我也可以建議尋找一些私人網站,編寫少量的代碼。這些比開放論壇更好。除此之外,如果主持人有時間並且喜歡你的提議,可以給予主持人一個好的提議,只是可能會讓你接受。 –

+0

我擁有的所有信息都是要從中拉取數據的網址。 – Santosh

0

沒有運氣在這裏,網站寫道「連接...」永遠。
但理清您的問題,這裏有一個示例代碼:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
Dim myIE As InternetExplorer, myDoc As HTMLDocument, mySubDoc As HTMLDivElement 
Dim sVal As String, lVal As Long

Set myIE = New InternetExplorer 
With myIE 
    .Visible = True 
    Call .navigate("http://stackoverflow.com/") 
    While Not .readyState = READYSTATE_COMPLETE 
     DoEvents 
    Wend 
    Set myDoc = .document 
End With 
'SAMPLE 
With mySubDoc 
    Set mySubDoc = myDoc.getElementsByClassName("question-summary narrow").Item(0) 
    sVal = CStr(mySubDoc.ID) 
    lVal = CLng(mySubDoc.NodeType) 
    Call MsgBox(sVal) 
    Call MsgBox(CStr(lVal)) 
End With 
On Error Resume Next 
    Call mySubDoc.Close 
    Call myDoc.Close 
    Call myIE.stop 
    Call myIE.Quit 
On Error GoTo 0 
Set mySubDoc = Nothing 
Set myDoc = Nothing 
Set myIE = Nothing 

末次

請注意:在Excel中的VBA(ALT + F11),你必須參考(工具 - >引用)加入到 Microsoft HTML Object LibraryMicrosoft Internet Controls項目。

您可以使用上述人員從目標網站上加載頁面的頁面源獲取值。所以你必須設置你想要的值,按下「估計」按鈕,「查看頁面源代碼」並查找你想要從VBA代碼中提取的值的容器節點(當然也可以添加到你的Excel VBA中)。
讓您的網站停下來 - 無法訪問的結果頁 - 這就是我所能做的,但通過上面的代碼,您可以確定您必須在Excel VBA中完成的其他工作。
如果沒有,請在網站重新啓動時發佈新問題或詢問。

希望這有助於!

相關問題