2016-05-10 9 views
0

Kontext: Hallo Community. Ich habe ein Problem. Mein Chef hat mich gebeten, Namen aus einer Datenbank mit der ID des Mitarbeiters zu holen. Das wäre nur dann kein Problem, wenn der Zugriff auf die Datenbank nicht über in PHP geschriebenes Formular erfolgt. Der zweite ist, dass ich ungefähr 10k Ergebnisse ziehen muss. Ich berechnete die dafür benötigte Zeit und bekam 55 Stunden langweilige Arbeit. Und ich spreche von perfekter Leistung entweder von mir und dem Server, mit dem ich mich verbinden möchte. Ich dachte, es wäre perfekt, wenn VBA das für mich tun könnte. Die Situation ist wie folgt.Formular mit Element ohne ID senden

Problem: Formular befindet sich auf Seite im Intranet. Der Benutzer gibt die ID ein, und wenn er auf OK klickt, wird eine Tabelle generiert (nicht vor dem Senden vorhanden), in der der Name des Mitarbeiters erscheint. Das Problem ist, dass die "Ok" -Schaltfläche keine ID hat, so dass die Verwendung von GetElementById nicht in Frage kommt. Ich muss das Formular irgendwie einreichen. Wird jemand helfen?

Der Code:

Sub submitFeedback3() 
    Application.ScreenUpdating = False 
    Dim IE As Object 

    Set IE = New InternetExplorerMedium 
    IE.Visible = True 
    IE.navigate "SomePHP.php" 

    Application.StatusBar = "Submitting" 

    While IE.Busy 
     DoEvents 
    Wend 
    Dim doc As Object 
    Dim formx As Object 
    Set doc = IE.document 

    IE.document.getElementById("search_usrn").Value = "someID" 

    IE.document.all.Item("Ok").Click 

    Application.StatusBar = "Form Submitted" 
    IE.Quit 
    Set IE = Nothing 

    Application.ScreenUpdating = True 
End Sub 

stelle ich eine Uhr in IE.document und es offenbarte Struktur. Ich konnte den Absenden-Button finden, aber ich kann ihn nicht auslösen.

Es in IE.document war> Formulare> Artikel 1> Artikel 5

es mit finden Dies hat Folowing Attribute ich in der Lage war:

outerHTML "INPUT type=submit value=Ok" 
type "submit" 
unique id "ms__id3" 
value "Ok" 

Kann ich es auslösen diese irgendwie mit? Oder gibt es einen anderen Weg? Hoffe, Sie können mir helfen

Antwort

0

Konnte es Minuten verwalten, nachdem ich die Frage gestellt. Nur für andere, die versuchen, dieses Problem anzugehen. Wenn Submit-Button keine ID hat, können Sie das Dokument mit Gewalt zu unterwerfen nur

document.forms(numberOfForm).submit 

wusste ich, dass aber ich habe es schlecht. Wiederholen Sie nicht meinen Fehler, die Zahlen beginnen mit 0 nicht 1. So war die richtige Zahl für nur Formular auf der Seite 0.

+0

Das ist eine separate Frage, bitte posten Sie es als neues. –

Verwandte Themen