IE 11上的Excel宏失败

时间:2016-05-20 08:20:43

标签: excel-vba vba excel

我是stackoverflow的新手,这是我的第一个问题。如有任何错误或不完整的详细信息,请致歉。

问题: 我有一个宏,它将excel表中的数据复制到一个网站上。这个宏在IE 7和IE上工作得很好。 8但在IE 11上失败。最糟糕的是当我使用IE的兼容模式时,它适用于第一个条目,然后失败。 代码失败,需要从下拉列表中选择一个字段。

请找到遇到错误的代码:' -----点击选择分支

                                                objIExp.Document.forms(0).Document.getElementById("ctl00_tvScreenMenut7").Click

                                                     WaitForTableReady objIExp, 0
                                                     Call TestReady(objIExp)

                                                While objIExp.Busy Or objIExp.ReadyState <> 4:                 DoEvents:              Wend

                                                branch = filter_value
                                                For icount = 0 To objIExp.Document.forms(0).Document.getElementById("ctl00_ContPlsHoldr_ddlBranch").getElementsByTagName("option").Length - 1
                                                        If UCase(Trim(objIExp.Document.forms(0).Document.getElementById("ctl00_ContPlsHoldr_ddlBranch").getElementsByTagName("option")(icount).innertext)) = UCase(Trim(branch)) Then
                                                                objIExp.Document.forms(0).Document.getElementById("ctl00_ContPlsHoldr_ddlBranch").getElementsByTagName("option")(icount).Selected = True
                                                                'objIExp.Document.forms(0).Document.getElementById("ctl00_ContPlsHoldr_ddlBranch").fireEvent ("onchange")
                                                                Exit For
                                                        End If
                                                Next icount


                                                objIExp.Document.forms(0).Document.getElementById("ctl00$ContPlsHoldr$btnChange").Click
                                                While objIExp.Busy Or objIExp.ReadyState <> 4:                 DoEvents:              Wend

                                                If rRow.Row > filter_last_row Or filter_last_row = 1 Then
                                                        Exit For
                                                End If

0 个答案:

没有答案