|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
|
[VB]Ottenere l'URL di una pagina Web aperta
E' possibile ottenere da VB o con le API l'URL di una pagina Web aperta?
Utilizzo AppActivate "titolo nella barra del titolo della finestra" per attivare la pagina web e SendKeys per inviare ad essa dei dati, ma questa procedura non riesce a distinguere le varie sezioni della pagina Web. In sostanza dovendo inviare dei dati diversi ad ogni sezione devo distinguere da http://20.15.5.208/cerca.jsp a http://20.15.5.208/tovata.jsp. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
|
up
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
|
help
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
puoi spiegati meglio? |
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
|
Utilizzo un DB di Access per compilare dei form contenuti in un sito web.
Con AppActivate "titolo nella barra del titolo della finestra" per attivare la pagina web e SendKeys per inviare ad essa i dati contenuti nella mia maschera, ma questa procedura non riesce a distinguere le varie sezioni della pagina Web. In sostanza mi serve un metodo che sia in grado di riconoscere l'URL della pagina web aperta, il quale identifica il form aperto in quel momento per esempio: http://20.15.5.208/cerca.jsp è l'URL di un form che si chiama 'cerca' http://20.15.5.208/trovata.jsp. è l'URL di un form che visualizza il risultato e così via...(ci sono diversi form) I dati che invio con SendKeys sono diversi per ogni form perciò la mia routine per sapere quale sequenza di tasti deve inviare dovrebbe riconoscere il form Web aperto in quel momento. Ora utilizzo tanti pulsanti quanti sono i form web ed ogni pulsante invia la sequenza di tasti giusta solo se è aperto il form web corrispondente, se invece la mia routine fosse in grado di riconoscere il form web sarebbe tutto più "intelligente". |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
Non mi trovo in postazione quando ci sarò ti faccio sapere... Mi ricordo che ho fatto una cosa simile utilizzando il controllo webbrowser e nei metodi del controllo webbrowser mettevo gli url da identificare (in quanto il programma non può sapere i link) e se mi ritornava l'URL in questione lo intercettavo (per te sarebbe il link del form aperto in quel momento) nel controllo webbrowser tramite if e poi mi regolavo da codice di conseguenza per i miei scopi. In sostanza dei avere delle var che identificano i link degli URL se no il programma non li può sapere quali sono questi riferimenti... ciao |
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
|
Ho trovato il controllo webroswer ma non ho capito come si usa
potresti mandarmi un db di esempio? |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
Metti il controllo webbrowser e fallo grande come il form, sul controllo poi ci clicchi sopra e puoi vedere le sue funzioni all'interno. Per utilizzare il controllo come pagina web basta che usi questo: WebBrowser1.Navigate ("http://www.hwupgrade.it/") puoi metterlo in bottone.click e vedrai sul controllo la pagina di default di hwupgrade. Invece nella funzione: Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean) puoi per esempio intercettare la pagina web dove ti linki esempio: If URL = "http://www.hwupgrade.it/" Then '...fai questo endif Ora prova questo: Metti in un bottone questo: WebBrowser1.Navigate ("http://www.hwupgrade.it/") Ora se clicchi sul bottone il comando WebBrowser1.Navigate ti linkerà all'URL http://www.hwupgrade.it/, metti un stop all'interno di della funzione: Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean) If URL = "http://www.hwupgrade.it/" Then stop 'vero else stop 'false endif Ora se hai degli url che apri con il comando Navigate, puoi intercettare con l'istruzione URL la pagina WEB che hai aperta e di conseguenza se lURL è vero allora fai... aggiorni elimini cancelli ecc ecc. il tuo db ecc ecc. spero di esserti stato di aiuto ciao |
|
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
|
Intanto grazie delle spiegazioni
Vedi questo link: http://msdn.microsoft.com/library/de...etexplorer.asp Io vorrei fare quello che fa Web browser ma direttamente su internet explorer cioè senza utilizzare il controllo web browser in una maschera. E' possibile ottenere il controllo di Internet Explorer con l'automazione? Leggendo la documentazione del link riportato di sopra sembrerebbe di sì ma non ho capito come si fà ad ottenere l'handle dell'oggetto Internet Explorer. Ciao |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
Ha ho capito vuoi farlo non sul controllo browser ma su explorer. Cerca su google per VBAscript oppure puoi utilizzare una dll come per operare per pagine asp esterne dove puoi lavorare tra il tuo programma exe, la dll e la pagina asp e i db. sul web ci sono molti esempi edit: non sò cosa devi fare con il tuo programma ... ma ricorda che per raggiungere uno scopo è sempre meglio fare le cose + semplici ciao |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:11.



















