[英]Handling IE pop-up with VBA
我有一个Excel VBA宏,它通过Internet Explorer与Intranet站点交互,遍历客户列表,打开客户配置文件,更新字段并保存更改。
我遇到的问题是,当我将更改保存到客户配置文件时,Web应用程序中有一个弹出窗口,要求我确认其配置文件的更改,我无法弄清楚如何以编程方式单击“确定“在弹出窗口中。 当我单击保存按钮时,javascript会执行函数调用以提交更改。
发送密钥不起作用,因为在确认弹出窗口之前代码不会执行下一行。 我尝试了一些其他提到的解决方案,但无法使它们正常工作(javascript部分对我来说是新的)。
任何有关如何以编程方式单击“确定”让我的代码安静运行的帮助将非常感激。
VBA代码:
'pulling up edit user profile link
s = objIE.document.getElementsByTagName("a")(4).href
objIE.navigate s
'wait here a few seconds while the browser is busy
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
'Adding value to customers profile and saving changes
objIE.document.all.Item("Contact_Id").Value = Sheets("List").Range("c" & n).Value
objIE.document.all.Item("submitBn").Click
'wait here a few seconds while the browser is busy
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
提交按钮调用的Java脚本函数:
function doNextPage() {
if (checkFormInputForEnglish(document.editProfileForm)) {
if(validateForm()){
if(confirm("Do\x20you\x20want\x20to\x20submit\x20the\x20changes\x3F")) {
document.editProfileForm.submitBn.disabled = true;
document.editProfileForm.submit();
使用VBA,
通过objIE.document.all.Item("submitBn").Focus
提交按钮objIE.document.all.Item("submitBn").Focus
然后使用SendKeys "~"
单击按钮。
所以这里VBA不会参与。 现在,通过检查HTML弹出代码是否为Visible / Exist来检测(HTML)弹出窗口
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.