2014-09-27 45 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