2017-09-05 6 views
-1

私は初心者であり、必死にヘルプを求めています。私は親切にあなたのサポートを要請し、情報の貧弱な言い回しと最終的な情報不足(あとは私は新人です)のために事前に謝罪します。私は(プライベート)Webページを記入するためのExcelマクロを構築しており、要求されたデータを入力した後、データ/フォームを提出するjavascript関数を呼び出すこともできます。しかし、私は確認できない(常に "ok"/enter)か簡単なスキップである "Webページからのメッセージ"と表示されます。マクロはただ止まり、 "ok"ボタンで手動でクリックすることなく何もできません。私は数時間かけてさまざまなソリューションを試してみることにしましたが、おそらく私の貧弱なスキルのために何も動かないようです。以下では、私を強く打ち負かしているコードを送信します(十分です)。あなたの助けのために楽しみにしてvba skip popupメッセージボックスin webページ

MY CODE

DIM HTMLdoc As MSHTML.HTMLDocument 

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

あなたは異なる機能を持つwindow.confirmを上書きしようとすることができ

... 
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

ウェブページ:OK働いていたテストページでは

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

私のために。

confirmを使用するWebページに他のコードがある場合、そのコードの機能に影響を与える可能性があります。

+0

恐ろしい!それは完全に動作します...私はソリューションの複雑さを評価することはできません(単純なものは素晴らしいと思われます)が、私はあなたが私を多く助けてくれて、私に多くの時間を救ったことを伝えることができます。どうもありがとう –