2017-09-06 46 views
0

Webページの情報を入力するためのVBAスクリプトを自動化しています。私は、Webページ上のコードのこの部分に到達するまで、私は偉大なやってる:JavascriptポップアップでOKをクリックするVBAコード

var message = "You must read and accept these terms .\n\n"; 
    if(index < 10) 

    var response = confirm(message); 

    if (response==true) {frm.h_index.value = index; frm.submit(); return true;} 
    else return false; 

私はその後、実行するには、このポップアップを起こし、元のWebページ上の.Click機能を実行することができます。ここから、Javascriptポップアップで[OK]を手動でクリックするまで、私のコードは何もできません。私はできる限りすべてを探し、それをどう扱うかまだ分かりません。

どのように私はプログラムでそのJavaScriptのポップアップを閉じることができますか?

+0

https://stackoverflow.com/questions/46064846/vba-skip-popup-message-box-in-webpage –

答えて

0

ポップアップウィンドウを最初に検索する必要があります。その特定のIEオブジェクトに.clickを送信する必要があります。使用できるサンプル関数とSubを見つけてください。次のコードでは、見つかったらiePopupオブジェクトに.clickを送信する必要があります。

'Add references: Microsoft Internet Controls & Microsoft HTML Object Library 
Sub TestURLmatch() 
Dim ie As Object 
Dim sMatch As String 

'URL needs to be changed in next line 
sMatch = "http://www.google.com" 

On Error Resume Next 
Set iePopup = GetIEatURL(sMatch & "*") 
On Error GoTo 0 
If Not iePopup Is Nothing Then 
    MsgBox "Found webpage at " & iePopup.LocationURL 
End If 
End Sub 

Function GetIEatURL(sMatch As String) As Object 
Dim ie As Object, oShApp As Object, oWin As Object 
Set oShApp = CreateObject("Shell.Application") 
For Each oWin In oShApp.Windows 
    If TypeName(oWin.Document) = "HTMLDocument" Then 
     Set ie = oWin 
     If LCase(ie.LocationURL) Like LCase(sMatch) Then 
      Set GetIEatURL = ie 
      Exit For 
     End If 
    End If 
Next 
Set oShApp = Nothing 
Set oWin = Nothing 

End Function 
関連する問題