手动:
通过VBA(我的代码目前这样做):
这一切都正常,弹出对话框显示与手动单击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">
答案 0 :(得分:0)
由于您还没有另外指定,唯一的线索是在.focus()
之前将.click()
方法应用于 HTML按钮(为了参数而使用Button1),并且对您正在与之交互的页面上的其他元素应用.blur()
方法可能会有所帮助。通常,它可能是分配给其中一个事件的处理程序,最终会导致这种行为差异。