【发布时间】: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 article和similar thread关于462错误,你可以查一下。
标签: excel vba internet-explorer runtime-error