VBA自动点击IE的浏览按钮、自动选择路径、自动关闭打开文件对话框

VBA调用InternetExplorer操作IE浏览器,自动弹出文件选择对话框时,VBA会处于阻塞状态,你必须手工关闭文件选择对话框,VBA才能继续向后运行。

例如下面网址,就有一个文件浏览按钮:

http://www.zytxs.com/web1/upload.aspx

我做了一个exe文件,可以在另一个进程中来处理文件对话框。

Sub Test()
    Dim File As MSHTML.HTMLInputFileElement
    Dim WSH As Object
    Set File = IE.document.getElementById("myfile")
    Set WSH = CreateObject("WScript.Shell")
    WSH.Run "E:\Office_VBA\AutoSelectFile\AutoSelectFile.exe E:\Office_VBA\Translate.rar", vbHide, False
    File.Click
End Sub

  上述代码,WSH.Run的参数中,包含两部分,空格左侧是处理文件对话框的exe文件路径(在本帖中可以下载并解压缩)

后面的 E:\Office_VBA\Translate.rar 是电脑中随便的一个文件路径,也就是要往文件选择对话框中上传的那个文件。

执行上述Test过程,VBA会自动打开文件浏览对话框,然后自动给对话框设置路径,并确定。

 

 

exe文件下载地址

AutoSelectFile.rar

下载后,解压缩到不含空格的路径下。请勿点击exe文件。

请打开Excel文件,然后点击工作表上的按钮进行测试。

 

posted @ 2018-11-28 21:26  ryueifu  阅读(3038)  评论(0编辑  收藏  举报