Newsgroup: it.comp.appl.access
Titolo: Come 'leggere' pagine web senza farlo vedere?

Vorrei realizzare, usando Access 2003, un'applicazione tipo questa
http://www.delitestudio.com/our-apps/prices-drop-monitor-for-amazon/
 
in sostanza e' un monitor per articoli su Amazon
Puoi selezionare gli articoli che desideri monitorare e lui ogni x ore 
aggiorna i prodotti con prezzo aumentato/diminuito
Bene, per replicarne le funzionalita' usando l'amato vba (che fa pure rima) 
come posso fare?
Cioe', come posso leggere senza farlo vedere all'utente una pagina web?
Ciao e grazie
RobertoA
 
 
 

 ha scritto:

mmmm... interessante... appena ho 1 oretta lo faccio e ti dico ;)
 
 
-- 
------------
Pablitomf
Napoli sempre nel "Q"uore!
"mammasantissima" si nasce, non si diventa.
 

> mmmm... interessante... appena ho 1 oretta lo faccio e ti dico ;)
 
Dopo aver visto un po' la struttura delle pagine dei prodotti di Amazon,
ho fatto cio'... ;)
 
Crea una tabella: 
tbl_Amazon
 
Campi:
ID (Contatore)
cmp_Link (Memo)
cmp_CampoNote (Testo 255)
 
Crea una Form a campi continui basata su tbl_Amazon. Inoltre gli aggiungi
un Pulsante denominato "cmd_Controlla".
 
Nel codice della Form gli incolli il seguente :
Option Compare Database
 
Private Sub cmd_Controlla_Click()
 
On Error GoTo fine:
 
DoCmd.GoToRecord , , acFirst
 
giro:
    'RECUPERO I LINK DALLA PRIMA PAGINA
    Set oHttp = CreateObject("MSXML2.XMLHTTP.4.0")
    txtRequestString = Me.cmp_Link
    oHttp.Open "GET", txtRequestString, False
    oHttp.Send
    miaPagina = oHttp.responsetext
    Set oHttp = Nothing
 
    Me.cmp_CampoNote = ""
    DoEvents
    Call ParseFile(Me.cmp_Link, "btAsinTitle")
    DoEvents
    Call ParseFile(Me.cmp_Link, "priceLarge")
 
    DoCmd.GoToRecord , , acNext
GoTo giro:
 
fine:
End Sub
 
Private Sub ParseFile(xurl As String, yParola As String)
On Error GoTo err:
 
    Dim xPosizioneParola    As Long
    xPosizioneParola = 1
 
    Dim xlink               As String
    Dim i                   As Long
    i = 1
giro:
    xPosizioneParola = InStr(xPosizioneParola, miaPagina, yParola)
 
    Dim contaVirg As Integer
    contaVirg = 0
 
    If xPosizioneParola > 1 Then
        For i = 0 To Len(miaPagina)
            If contaVirg < 2 Then
                If Mid(miaPagina, xPosizioneParola + Len(yParola) + i, 1)
= """" Or Mid(miaPagina, xPosizioneParola + Len(yParola) + i, 1) = "<" Then
                    contaVirg = contaVirg + 1
                End If
            Else
                xlink = Mid(miaPagina, xPosizioneParola + Len(yParola) +
2, i - 3)
                xPosizioneParola = xPosizioneParola + Len(yParola) +
Len(xlink)
 
                '-------------------------
                ' TROVATO LINK
                '-------------------------
                xlink = Replace(Replace(xlink, """", ""), "'", "")
                xlink = Replace(Replace(xlink, "itsunePrice>", ""), "'", "")
                'Debug.Print xurl & " ] - " & yParola & " - " & xlink
                Debug.Print xlink
                If Me.cmp_CampoNote = "" Then
                    Me.cmp_CampoNote = xlink
                Else
                    Me.cmp_CampoNote = Me.cmp_CampoNote & " - " & xlink
                End If
                DoEvents
 
                GoTo giro:
            End If
salta:
        Next i
    Else
        GoTo fine:
    End If
 
 
fine:
Exit Sub
 
err:
MsgBox err.Number & " - " & err.Description
 
End Sub
 
Salva, e avvia la form... inserisci il link nel campo apposito (metti
diversi record), e clicca sul tasto... dovrebbe funzionare (a me funziona).
 
PS. questo codice sfrutta l'oggetto MSXML2.XMLHTTP.4.0


> PS. questo codice sfrutta l'oggetto MSXML2.XMLHTTP.4.0
 
ah, dimenticavo, dichiara in testa una variabile per memorizzare
temporaneamente il contenuto della pagina html:
 
Dim miaPagina As String


 Dim miaPagina As String
 
vabbe' ecco l'esempio ;)
 
abbelliscilo tu, io mi annoio...
 
http://85.44.230.157/Maurizio/Amazon.zip
 


 
http://85.44.230.157/Maurizio/Amazon.zip
 
 
scusa, sbagliato link... tie'
 
http://85.44.230.157/Maurizio/Amazon2.zip
 



 
Bellissimo esempio
Molte grazie dell'aiuto
Spero gli amministratori dei vari siti dedicati ad Access lo inseriscano tra 
gli esempi significativi di codice vba 
 
 

 ha scritto nel messaggio 
news:201210021...@mynewsgate.net...

Io ho provato ma non carica niente
Ma forse sbaglio.
Saluti
Graziano 
 
 

 Graziano 
 
sarebbe?...
 
Tie' scaricati questo aggiornato...
 
http://85.44.230.157/Maurizio/Amazon3.zip
 



 
A me funziona sia la prima versione che l'ultima, la tre 
 
 

 ha scritto nel messaggio 
news:201210040...@mynewsgate.net...

Access 2000
 IL componente activeX non � in grado di creare l'oggetto
Che devo fare?
Ciao
Graziano 
 
 

 Che devo fare?
 
devi mettere l'activeX tra i riferimenti...
che riferimenti hai attivi?



 
Quale activeX bisogna aggiungere?
Grazie
Graziano 
 
 

 Graziano 
 
sul 2000 credo MSXML2...
