手动:
- 打开 IE
- 打开网址
- 单击 HTML 按钮(为了论证,按钮 1)
- 在弹出的对话框中单击确定等待客户端联系服务器,然后打开 Excel 工作表。
通过 VBA(我的代码目前执行此操作):
- 打开 IE 打开网址
- 单击 HTML 按钮(为了论证,按钮 1)
这一切正常,弹出对话框的显示与手动单击 Button1 时相同。但是,此时当我手动单击对话框上的确定按钮时,什么也没有发生!
我看不出有什么区别,因为两个序列中的最后一个动作是相同的(手动按下对话框的 OK 按钮)。
有没有人见过这种类型的问题?
编辑:
感谢您到目前为止的帮助,我应该提到我正在尝试与 Sharepoint 服务器上的 HTML 进行交互。下面是我的代码和html源代码。我知道我找到按钮的方法可能不是最强或最标准的,但这是我当时唯一可以用作搜索参数的方法。
我的 VBA:
'------------------------------- Open IE & URL
Dim appIE As Object
Dim URL As String
URL = "http://OurSharePointServer/epr/default.aspx"
Set appIE = CreateObject("InternetExplorer.Application")
With appIE
.navigate URL
.Visible = True
End With
While appIE.Busy Or appIE.readyState <> 4: DoEvents: Wend
'---------------------------------------------
'------------------------------- Click "Raise New EPR" Button
For Each htma In appIE.document.getElementsByTagName("img")
' Debug.Print htma.onclick
If InStr(htma.onclick, "createNewDocumentWithProgID") > 0 Then
Dim appExcel As Object
Set appExcel = CreateObject("Excel.Application")
appExcel.Workbooks.Add
htma.Click
Application.Wait (Now + TimeValue("0:00:10"))
Exit For
End If
Next
'---------------------------------------------
按钮的 HTML 源代码:
<IMG
onclick="createNewDocumentWithProgID('http:\u002f\u002fOurSharepointServer\u002fepr\u002fsubmit\u002fForms\u002fepr_.xls',
'http:\u002f\u002fOurIntranet\u002fepr\u002fsubmit',
'SharePoint.OpenDocuments', false)"
src="../site%20images/epr_but.jpg"
<a href="http://OurSharepointServer/epr/Submit">