2017-09-05 37 views
-1

我是一個初學者,拼命尋求幫助。我會請求你的支持,並提前爲可憐的措辭和最終缺乏信息(再次,我是菜鳥)道歉。我正在構建一個Excel宏以填充(私人)網頁,填寫所需數據後,我還可以調用提交數據/表單的javascript函數。但是,它出現了我無法確認的「網頁留言」(始終「確定」/輸入)或簡單跳過。宏只是停下來,我不能做任何事情,沒有手動點擊「確定」按鈕。我花了幾個小時搜索並嘗試不同的解決方案,但似乎沒有任何工作,可能是因爲我的技能很差。在此之後,我發送了很難擊敗我的代碼(希望就夠了)。期待您的幫助vba跳過彈出消息框中的網頁

我的代碼

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

你可以嘗試用不同的功能覆蓋window.confirm

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

在這種工作確定測試頁爲了我。

備註:如果網頁上有任何其他代碼使用confirm那麼該代碼的功能可能會受到影響。

+0

太棒了!它完美無缺......我無法評估解決方案的複雜性(看起來很簡單),但我可以告訴你,你幫了我很多,爲我節省了很多時間。非常感謝 –