2016-01-22 67 views
0

我想填寫表單並獲取表單的響應值。我需要的表格可以在www.1ratio.nl填寫網頁表單,無需提交vba按鈕

現在這個表格沒有提交按鈕。我在vba中有一個代碼,當有提交按鈕可用時應該可以工作,但現在我只是不會從網站獲得響應。

編輯:此外,有沒有一個選項不創建打開一個新的IE屏幕,已經有一個屏幕可用?因此,它在最後一種情況下創建一個新的標籤呢?

編輯2:我想有可能用VBA添加一個提交按鈕到網站。這是可能的,這是我想要的解決方案嗎?

代碼:

Sub fillform() 

zero = 1 
one = 2 
two = 3 
three = 4 
four = 1 

Dim IE As Object 

Set IE = CreateObject("InternetExplorer.Application") 
IE.Visible = True 
IE.navigate "http://www.1ratio.nl" 

Application.StatusBar = "Submitting" 

While IE.busy 
    DoEvents 
Wend 

delay 1 
IE.document.getelementbyid("ContentPlaceHolder1_Leeftijd01DropDownList").Value = zero 
delay 1 
IE.document.getelementbyid("ContentPlaceHolder1_Leeftijd12DropDownList").Value = one 
delay 1 
IE.document.getelementbyid("ContentPlaceHolder1_Leeftijd23DropDownList").Value = two 
delay 1 
IE.document.getelementbyid("ContentPlaceHolder1_Leeftijd34DropDownList").Value = three 
delay 1 
IE.document.getelementbyid("ContentPlaceHolder1_Leeftijd48DropDownList").Value = four 
delay 1 
MsgBox (IE.document.getelementbyid("ContentPlaceHolder1_AantalLabel")) 

End Sub 

Private Sub delay(seconds As Double) 
Dim endtime As Date 
endtime = DateAdd("s", seconds, Now()) 
Do While Now() < endtime 
    DoEvents 
Loop 

End Sub 

回答

0

我發現,我可以與下面的代碼的HTML代碼的selectboxes觸發onchange事件解決這個問題:

IE.document.getelementbyid("ContentPlaceHolder1_Leeftijd01DropDownList").fireevent ("onchange")