Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305

    [VBA] riempire moduli internet

    Devo accedere a delle pagine di un sito.
    Il primo pezzo, in cui devo inserire username e password,funziona.
    Accedo quindi ad una pagina interna in cui cè un form di ricerca strutturato in qs modo:

    codice:
    ....
    <tr>
    <td width="150">Stringa caratteri</td>
    <input name="keyword" type="text" class="campedit" size="50" maxlength="50" value="">
    <a href="javascript:azzera();" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('azzera','','/Templates/Default/img/annullasele1.gif',1)">
    [img]/Templates/Default/img/annullasele.gif[/img]
    </a>
    </td>					
    <td>
    <a href="javascript:ricerca();" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('cerca','','/Templates/Default/img/cerca1.gif',1)">
    [img]/Templates/Default/img/cerca.gif[/img] 
    </a>
     </td>
    </tr>
    Questo form ha altri campi precompilati con menu a tendina (che non ho inserito nel codice sopra).
    In questo form devo mettere la parola "gluti" e poi premere su cerca.

    Il javascript che viene richiamato è cosi
    codice:
    // Funzioni javascript per form di ricerca
    	function ricerca()
    	{
    		/*if(isNaN(document.getElementById("txtAnno").value))
    		{
    			alert('Inserire un anno corretto.');
    			return;
    		}*/
    		document.frm.submit()

    Questo è il codice che ho usato io, ma si blocca sulla pagina contenente il form senza mettermi la parola "gluti".
    Come posso fare?

    Grazie
    codice:
    Set oApp = CreateObject("internetExplorer.Application")
    oApp.Navigate2 "http://www.sito.it"
    
    Do
    If oApp.readyState = 4 Then
    Exit Do
    End If
    Loop
    oApp.Visible = True
    oApp.document.Forms(0).Item("user").Value = "pippo"
    
    oApp.document.Forms(0).Item("password").Value = "pluto"
    
    oApp.document.Forms(0).submit
    Do
    If oApp.readyState = 4 Then
    Exit Do
    End If
    Loop
    'Set oApp = Nothing
    
    oApp.Navigate2 "http://www.sito.it/accesso.asp?logsession=YES"
    oApp.document.Forms(0).Item("multi").Value = "multi"
    oApp.document.Forms(0).action = "javascript:ricerca();"
    oApp.document.Forms(0).submit
    
    
    End Sub

  2. #2
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    nessun esperto?
    :master: strano perchè mi sempra che il vba sia praticamente identico al visual basic... bho... oppure non mi sono spiegata a sufficenza?

    fatemi sapere...grazie

  3. #3
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Luisa, sinceramente non ho capito l'ambiente.

    VBA io lo uso per Word, Excel o Access. Che c'entra il web ? O sono io a non essere aggiornato ?

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Nel ciclo devi mettere un DoEvents altrimenti la "message pump" di Windows non puo' lavorare ... non so se in VBA c'e' qualcosa come DoEvents ... quindi

    codice:
    Do
      If oApp.readyState = 4 Then
       Exit Do
      End If
      DoEvents
    Loop
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Tanto per completezza: DoEvents esiste in VBA quindi il codice di Oregon è perfetto..

    Ciao

  7. #7
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    Originariamente inviato da oregon
    Nel ciclo devi mettere un DoEvents altrimenti la "message pump" di Windows non puo' lavorare ... non so se in VBA c'e' qualcosa come DoEvents ... quindi

    codice:
    Do
      If oApp.readyState = 4 Then
       Exit Do
      End If
      DoEvents
    Loop
    praticamente il vba è la stessa identica cosa del VB, può cambiare qualcosina ma non molto! Infatti ora quando chiedo qualcosa metto nell'oggetto che si tratta di vb altrimenti vedendo vba nessuno risponde!!!

    RICHIESTA AL MODERATORE: Poui change il titolo in VB6 invece che in VBA? grazie

    Per il problema è un sacco di tempo che cerco una soluzione... se qualcuno sapesse auitarmi...

  8. #8
    Ciao..

    praticamente il vba è la stessa identica cosa del VB, può cambiare qualcosina ma non molto! Infatti ora quando chiedo qualcosa metto nell'oggetto che si tratta di vb altrimenti vedendo vba nessuno risponde!!!
    Non è così..il VBA non è propriamente identico a VB e non penso che nessuno risponda perchè vede la scritta "VBA"..

    Per il problema è un sacco di tempo che cerco una soluzione... se qualcuno sapesse auitarmi...
    A quale problema ti riferisci? Mi sembra che a questo quesito qualcuno (io compreso) ti abbia risposto.. :master:

  9. #9
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    Originariamente inviato da MdE2005
    Ciao..



    Non è così..il VBA non è propriamente identico a VB e non penso che nessuno risponda perchè vede la scritta "VBA"..



    A quale problema ti riferisci? Mi sembra che a questo quesito qualcuno (io compreso) ti abbia risposto.. :master:
    mi riferisco al primo messaggio scritto (l'unico quesito che ho posto. ..), quello in cui si parla del modulo di ricerca devo cercare la parola "multi" ma il form non si riempe...
    non so più come fare, le ho provate tutte!

  10. #10
    Ma non hai provato la soluzione di Oregon (confermata anche da me)?

    Hai iniziato a parlare di VBA e VB6 quindi pensavo avessi risolto..

    Controlla e fammi sapere..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.