vba跳过网页中的弹出消息框

时间:2017-09-05 23:55:17

标签: javascript html excel vba

我是初学者,拼命寻求帮助。我会请求你的支持并提前道歉,因为措辞不佳和最终缺乏信息(再次,我是一个新手)。我正在构建一个Excel宏来填充(私人)网页,在填写所请求的数据后,我还可以调用提交数据/表单的javascript函数。但是,它似乎是“来自网页的消息”,我无法确认(总是“确定”/输入)或简单跳过。宏只是停止,如果不在“确定”按钮中手动单击,我就无法执行任何操作。我花了几个小时搜索并尝试不同的解决方案,但似乎没有任何效果,可能是由于我的技能不佳。下面我发送的代码很难打败我(希望就够了)。期待您的帮助

我的代码

DIM HTMLdoc As MSHTML.HTMLDocument

' Submits data but gets stuck in the popup message box
HTMLdoc.all.Item
Call HTMLdoc.parentWindow.execScript("licitarLeilao();", "JScript")

WEBPAGE

...
function licitarLeilao(){
    var ultimaLicitacao = document.getElementById('ultimaLicitacao').value;
    var valorLicitar = document.getElementById('valorLicitar').value;

    if(ultimaLicitacao == ' -- '){
        ultimaLicitacao = document.getElementById('valorBase').value;
    }

    var racio = toNum(valorLicitar) / toNum(ultimaLicitacao);

    if (racio < 1.5) {
        if(!confirm('Confirma o valor de licitação (' + valorLicitar +' eur.) do leilão?')){
            return false;
        }   
    }
    else {  
        if(!confirm('ATENÇÃO!! O valor de licitação é muito superior à última licitação. \n\n Confirma o valor de licitação (' + valorLicitar +' eur.) do leilão?')){
            return false;
        }
    }   

    var flow = document.getElementById('flow');
    flow.value = '8';

    document.formulario.submit();
}

1 个答案:

答案 0 :(得分:1)

您可以尝试使用其他功能覆盖window.confirm

With HTMLdoc.parentWindow
    .execScript "window.confirm = function(){return true;};", "JScript"
    .execScript "licitarLeilao();", "JScript"
End With

在一个对我有效的测试页面中。

注意:如果网页上有使用confirm的任何其他代码,则该代码的功能可能会受到影响。