2014-09-27 58 views
0

我在網上搜索了很多,發現你的網站非常有用 - 這就是爲什麼我還沒有發佈任何東西,只是閱讀。 但是,在我的項目的以下步驟中,我需要您的建議。該項目旨在自動創建/放置銷售商品的廣告。 網站是http://olx.bg/adding/ 我無法通過VBA做的事情是按下名爲「ДОБАВИСНИМКА」的藍色方塊,代表「ADD PHOTO」。 一旦按下,打開一個默認的BROWSE窗口來選擇文件。如何按新聞上傳按鈕通過VBA

在此先感謝!

回答

0

添加兩個引用您的VBA項目:

  1. Microsoft Internet控制
  2. Microsoft HTML對象庫

按鈕背後的HTML有一個id =附加文件,這使它很容易定位使用getElementById

這裏是工作示例:

Sub PushAddPhotoButton() 
    Dim IEexp As InternetExplorer 
    Set IEexp = New InternetExplorer 
    IEexp.Visible = True 
    IEexp.navigate "http://olx.bg/adding/" 

    Do While IEexp.readyState <> 4: DoEvents: Loop 

    Dim photoButton As HTMLInputElement 
    Set photoButton = IEexp.Document.getElementById("add-files") 

    If (Not photoButton Is Nothing) Then 
     photoButton.Click 
    Else 
     MsgBox "Button not found on web page." 
    End If 

    IEexp.Quit 
    Set IEexp = Nothing 
End Sub 

如果你的IE安全設置爲「高」的互聯網,那麼你不會得到一個對話框或錯誤。 IE窗口只會閃爍,然後消失。

更改爲:

enter image description here

+0

波特蘭亞軍謝謝您的時間和幫助!我測試了它(IE8,VBA 7.1),但沒有默認瀏覽窗口打開,一旦我通過photoButton.Click步驟。 – Angel 2014-09-29 13:58:22

+0

如果您逐步完成代碼(F8),它會起作用嗎?如果你沒有看到消息框,那麼它會找到該按鈕並點擊它。我想知道,如果您有任何第三方插件,如語言翻譯器將焦點從點擊中移開或延遲到足以使其無法運行。如果是這樣,您可能需要在點擊前等待一兩秒鐘。 FWIW,在我的機器上正常工作。 – 2014-09-29 14:51:35

+0

我再次用F8測試,暫停(等待)之前的一步photoButton.Click超過5秒,但仍然是新(瀏覽)窗口不出現。我的機器上沒有第三方插件/我沒有/我知道的。我在另一臺電腦上測試過 - 沒有運氣。如果它對你的工作正常,那麼我開始考慮IE的配置,但沒有具體考慮。 – Angel 2014-09-29 21:11:12