【问题标题】:Why can't I get internet explorer to work with this VBA code?为什么我不能让 Internet Explorer 使用此 VBA 代码?
【发布时间】:2019-07-26 21:16:06
【问题描述】:

一位同事给了我一个文件,其中包含此代码在其计算机上运行但在我的计算机上运行的代码。目的是通过 Internet Explorer 导航和使用网页。这似乎很奇怪,这可以在他的电脑上工作,但不能在我的电脑上工作。但是我看不到我们的计算机之间有任何不同的设置。

Option Explicit

Sub GetLTRTable()


SSOuserform.Show

Dim mySSO As String
Dim mypassword As String
mySSO = SSOuserform.MySSObox.Value
mypassword = SSOuserform.Mypasswordbox.Value
Dim ie As Object
Set ie = CreateObject("InternetExplorer.application")

ie.Visible = True
ie.navigate "http://XXX/XXX/Query.asp"

While ie.Busy Or ie.ReadyState < 4: DoEvents: Wend


ie.Document.all.Item("username").Value = mySSO
ie.Document.all.Item("password").Value = mypassword
ie.Document.all.Item("submitfrm").Click

While ie.Busy Or ie.ReadyState < 4: DoEvents: Wend



Dim Fields As Object

Set Fields = ie.Document.all.Item("ADFields")
    Fields.Checked = True

Dim organization As Object

Set organization = ie.Document.all.Item("Org")
    organization.selectedindex = 0

Dim Modality As Object
    Set Modality = ie.Document.getElementsByname("Modality")(0)
        Modality.Value = "'XXX'"
Modality.getElementsBytagname("option").Item(102).Selected = "selected"
Modality.getElementsBytagname("option").Item(214).Selected = "selected"
Modality.getElementsBytagname("option").Item(222).Selected = "selected"




ie.Document.getElementsByname("CR1").Item(1).Checked = True
ie.Document.getElementsByname("CR2").Item(6).Checked = True


ie.Document.getElementsByname("Action").Item(1).Click
While ie.Busy Or ie.ReadyState < 4: DoEvents: Wend

Dim Startyear As Object
Set Startyear = ie.Document.getelementbyid("StartYR")
    Startyear.Value = ActiveWorkbook.Worksheets("Summary").Range("B3")
Dim Endweak As Object
Set Endweak = ie.Document.getelementbyid("EndFW")
    Endweak.Value = ActiveWorkbook.Worksheets("Summary").Range("B4")
Dim EndYear As Object
Set EndYear = ie.Document.getelementbyid("EndYR")
    EndYear.Value = ActiveWorkbook.Worksheets("Summary").Range("B5")

ie.Document.getElementsByname("Format").Item(0).Checked = True
ie.Document.getElementsByname("ItemTotal").Item(0).Checked = True
ie.Document.getElementsByname("ADFld01").Item(0).Checked = True
ie.Document.getElementsByname("ADFld25").Item(0).Checked = True
ie.Document.getElementsByname("ADFld26").Item(0).Checked = True
ie.Document.getElementsByname("ADFld27").Item(0).Checked = True
ie.Document.getElementsByname("ADFld28").Item(0).Checked = True
ie.Document.getElementsByname("ADFld29").Item(0).Checked = True
ie.Document.getElementsByname("ADFld30").Item(0).Checked = True
ie.Document.getElementsByname("ADFld02").Item(0).Checked = True
ie.Document.getElementsByname("ADFld03").Item(0).Checked = True
ie.Document.getElementsByname("ADFld05").Item(0).Checked = True
ie.Document.getElementsByname("ADFld06").Item(0).Checked = True
ie.Document.getElementsByname("ADFld07").Item(0).Checked = True
ie.Document.getElementsByname("ADFld08").Item(0).Checked = True
ie.Document.getElementsByname("ADFld09").Item(0).Checked = True
ie.Document.getElementsByname("ADFld24").Item(0).Checked = True
ie.Document.getElementsByname("ADFld31").Item(0).Checked = True

ie.Document.getElementsByname("Action").Item(1).Click

End Sub

点击“While ie.Busy Or ie.ReadyState

【问题讨论】:

  • 检查互联网安全设置 - 它们的设置是否与其他用户相同?
  • 您可以手动导航(在 I.E. 中)到网页吗?
  • 不确定 while...wend 语句的哪一行会显示此问题?请尝试调试它。另外,这里有an articlesimilar thread关于462错误,你可以查一下。

标签: excel vba internet-explorer runtime-error


【解决方案1】:

非常感谢您的回答。 安全设置确实是问题所在。我为每个区域取消选中“启用保护模式”并且它有效。 非常感谢!

【讨论】:

    猜你喜欢
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 2019-10-28
    • 1970-01-01
    相关资源
    最近更新 更多