Buon pomeriggio,Utilizzo di Excel per inviare informazioni a un modulo web e analizzare i risultati
Sto cercando di impostare un mezzo di automatizzare qualche segnalazione per un sito web in-house. Insegno in un college e ho bisogno di estrarre alcuni dati dai database accessibili dalla facoltà attraverso l'interfaccia fornita dal college. Quindi, sto cercando di accedere al materiale che sono autorizzato a vedere, sarà necessario accedere per vedere, ma non voglio ripetere i passaggi potenzialmente centinaia di volte.
Il mio pensiero è quello di:
1) accedere all'interfaccia collegio fornito utilizzando IE con le mie credenziali (in modo che il sistema sa che sono autorizzato).
2) Fornire Excel con un elenco di numeri di identificazione sugli studenti che sto cercando di rintracciare
3) utilizzare VBA per scorrere ogni ID, effettuare le seguenti operazioni:
- Inserire il numero ID dalla lista in Excel nella casella di testo apposito modulo
- Fare clic sul pulsante "Invia"
- Clicca un secondario pulsante "Invia" nella pagina risultante
- Copy ° e conseguente pagina di testo HTML che appare e analizzarlo per le informazioni che ho bisogno
- Procedere con il numero successivo e ripetere
ho provato alcune delle altre opzioni che ho visto (come VBA to Enter Data Online and Submit Form) ma sto ricevendo errori sulla sintassi.
La parte rilevante del codice HTML del sito che sto cercando di riferimento è:
<FORM ACTION="action" METHOD="POST" NAME="idinputform">
Enter Number Here:
<INPUT TYPE="number" NAME="ID_NUM" SIZE="9" MAXLENGTH="9">
<INPUT TYPE="hidden" NAME="refresh_proc" VALUE="menu_1">
<INPUT TYPE="submit" VALUE="Submit"> <INPUT TYPE="reset" VALUE="Reset">
</FORM>
Quello che ho in Excel è:
Sub QueryInfo()
Application.ScreenUpdating = False
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "website address"
IE.Document.idinputform.number.Value = "000000000"
Application.ScreenUpdating = True
End Sub
Così, comincio da aprire una finestra di IE e accedere all'interfaccia, quindi avviare VBA. L'applicazione viene eseguita, apre una nuova finestra di IE, raggiunge il sito Web (che conserva la mia autorizzazione di accesso dal primo), quindi si blocca con un errore non specificato.
Sembra che questo dovrebbe essere semplice, ma io non lo vedo.
Grazie! -G-
provare questo IE.document.getElementsByName ("idinputform"). Voce '(0) .Value = "myID"' 'dove myID' = valore della cella di id studente o qualunque id hai hardcoded per il momento . –
Ahimè, no. IE.document.getElementsByName ("idinputform"). Item (0) .Value = "myID" non funziona. Né IE.document.getElementByName ("numero"). Value = "myID". Altri pensieri? –
Ah, ho letto male 'getElementByName (" ID_NUM "). Item (0) .Value' –