2017-06-02 4 views
0

Ich schreibe ein Programm, in dem eine if-Bedingung eine URL mit einem bestimmten Text testet, aber ich bekomme einen Fehler.Überprüfen des Wertes einer URL in VBA

Sub test() 

Dim eRow As Long 
Dim ele As Object 
Dim srlnum As String 
Dim wb As WebBrowser 

Set sht = Sheets("sheet1") 
RowCount = 1 
sht.Range("A" & RowCount) = "Serial No" 
sht.Range("B" & RowCount) = "Expiry Date" 


Dim objIE As New InternetExplorer 

Dim counter As Integer 
counter = 1 
Do While counter >= 1 

    RowCount = RowCount + 1 


    'srlnum = InputBox("Enter Serial Number") 
    srlnum = ThisWorkbook.Sheets("sheet2").Range("A" & RowCount).Value 

    With objIE 
    .Visible = True 

search: 

    .navigate "http://tallysolutions.com/tallyweb/modules/crm/accounts/intranet/CLicenseFilterCtlr.php?strInvoker=wcc&strSearchClick=yes&strCalledFromLoginMenu=1" 

    Do While .Busy Or .readyState <> 4 
    DoEvents 
    Loop 

    Set serialnum = .document.getElementById("strInputProdSerial") 
    serialnum.Value = srlnum 
    .document.getElementById("btnShow").Click 

    Do While .Busy Or .readyState <> 4 
    DoEvents 
    Loop 

    On Error GoTo search 

    If objIE.Url.toString.contains("http://tallysolutions.com/tallyweb/modules/crm/accounts/intranet/CSiteAdvanceSearchListCtlr.php") Then 
    Stop 
    End If 

    For Each ele In .document.all 
     Select Case ele.ID 
       Case "trLicenseInfoContainer" 

         sht.Range("A" & RowCount) = srlnum 
         sht.Range("B" & RowCount) = ele.innerText 

     End Select 
    Next ele 


    End With 
    wb.Quit 
    Set wb = Nothing 

    counter = counter + 1 

Loop 

End Sub 

Die Linie

If objIE.Url.toString.contains("http://tallysolutions.com/tallyweb/modules/crm/accounts/intranet/CSiteAdvanceSearchListCtlr.php") Then 

gibt einen Fehler, der besagt the object does not support this property or method, aber ich weiß nicht, was dieser Fehler bedeutet.

+1

Stack-Überlauf ist kein „Blog“ ist eine Fragen und Antworten Website, die als solche * spezifische verfeinert * Fragen benötigt werden, können Sie erweitern auf: * "gibt es eine andere Möglichkeit, diesen Code zu schreiben "*? –

+0

Im ursprünglichen Beitrag wurde die StackOverflow-Community aufgefordert, den bereitgestellten Code versehentlich neu zu schreiben, was einige Leute verwirrte. Diese Frage hat in der Tat eine sehr einfache Antwort, die überhaupt keine Neufassung erfordert, also gibt es keinen Grund, sich zu beschweren. –

Antwort

Verwandte Themen