Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Excel Web Query ripetuta

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Excel Web Query ripetuta

Postdi 91freesoul » 30/10/15 12:12

salve,sono nuovo ed è la prima volta che scrivo. Sto lavorando su un foglio excel ed ho bisogno di copiare dei dati da un indirizzo web(nello specifico degli indirizzi mail). L'indirizzo è il seguente http://www.odcec-rc.it/cgi/intranet.pl . come potete notare all initerno ci sono tanti nominativi ed ognuno corrisponde a tanti microlink differenziati tra loro per id finale all interno dell url. Vorrei sapere da voi se è possibile tramite la registrazione di una macro riuscire ad estrapolare gli indirizzi mail di ogni microlink cambiando in automatico id finale in modo tale da non dover sempre cambiare manualmente l url dal quale estrapolo le informazioni. sono riuscito a creare su unfoglio excel un elenco dei vari indirizzi partendo da id=1 e via dicendo col metodo che tutti conoscerete. magari registrando una macro si potrebbero prendere come riferimento le celle dove vado a posizionare url con id diversi e non dover fare manualmente il cambio dell indirizzo in modo da poter estrapolare le informazioni che mi servono in maniera più rapida . spero di essere stato chiaro.mi viene un po complicato da spiegare per iscritto. darò spiegazioni più chiare a chi gentilmente si mostra in grado di potermi aiutare.granzie anticipatamente
91freesoul
Newbie
 
Post: 8
Iscritto il: 30/10/15 10:46

Sponsor
 

Re: Excel Web Query ripetuta

Postdi Anthony47 » 01/11/15 23:35

Ciao 91freesoul, benvenuto nel forum.
La fattibilita' di quanto richiesto si potra' stabilire solo esaminando la struttura reale del sito, mentre il link pubblicato mi risulta accessibile solo previa autenticazione.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel Web Query ripetuta

Postdi 91freesoul » 03/11/15 12:11

il link è questo http://www.odcec-rc.it/cgi/intranet.pl?_cgifunction=search&_layout=news .
dopodichè andare su "Albo" e poi su "cerca" . dovrebbero apparire dei nominativi ed ognuno di essi collega con un microlink dove all interno sono presenteti dei dati tra cui le mail che mi interessano.
91freesoul
Newbie
 
Post: 8
Iscritto il: 30/10/15 10:46

Re: Excel Web Query ripetuta

Postdi 91freesoul » 03/11/15 12:16

Copiando uno dei microlink su excel riesco poi a ripetere il link cambiando i vari id .
es.
http://www.odcec-rc.it/cgi/intranet.pl? ... listi_id=1

http://www.odcec-rc.it/cgi/intranet.pl? ... listi_id=2

http://www.odcec-rc.it/cgi/intranet.pl? ... listi_id=3

e così via.

vorrei riuscire a creare una macro che mi estrapoli automaticamente gli indirizzi mail associati ad ogni link cambiando magari rifacendosi alle celle l url col relativo id finale. Sapete dirmi se è una cosa possibile? o se eventualmente devo spiegarmi meglio
91freesoul
Newbie
 
Post: 8
Iscritto il: 30/10/15 10:46

Re: Excel Web Query ripetuta

Postdi Anthony47 » 03/11/15 15:41

La strada intrapresa, lavorare cioe' con link con id crescenti, e' quella che userei anche io.
Per questo basta che crei sul tuo foglio una query web, ad esempio in B2, che estragga il primo dato; poi aggiungi una macro che modifica la connessione di query e la esegua, estraendo e mettendo in ordine di volta in volta le informazioni che ti servono; del tipo
Codice: Seleziona tutto
For I=1 to 1000
    With Range("B2").QueryTable
        .Connection = "URL;http://www.base-della-query" & I
        .Refresh BackgroundQuery:=False
    End With
    'Istruzioni per mettere in ordine le info ottenute dalla query
Next I
Tuttavia con questo metodo avrai creato un archivio di dati personali estraendoli dal sito web, sulla cui legalita' non sono convinto (sia per quanto riguarda il copyright che per le regole sulla privacy); per cui non daro' ulteriori informazioni.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel Web Query ripetuta

Postdi 91freesoul » 03/11/15 16:28

Proverò quanto su scrittomi da lei . Specifico però che lavoro in uno studio commerciale e le informazioni ricavate servono per un progetto quindi nulla di illegale nell acquisire queste informazioni ...avrei dovuto estrapolare le mail una ad una ..l aiuto chiesto era solo per ridurre i tempi .grazie mille ugualmente
91freesoul
Newbie
 
Post: 8
Iscritto il: 30/10/15 10:46

Re: Excel Web Query ripetuta

Postdi Anthony47 » 04/11/15 02:49

Credo che le leggi sul copyright vietino la creazione di un' altra opera utilizzando le stesse informazioni contenute in un'opera protetta.
Come pure Nominativi, indirizzi e telefono sono "informazioni personali" il cui trattamento (inclusa la raccolta) credo sia ammesso solo con il consenso espresso degli interessati.
Non avendo strumenti per risolvere questi importanti dubbi ho scelto di limitarmi a un suggerimento di principio.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel Web Query ripetuta

Postdi 91freesoul » 05/11/15 11:29

salve,un'ultima cosa : come posso stabilire un ordine nei dati estratti perchè mi sovrascive le informazioni estratte nella stessa cella?
91freesoul
Newbie
 
Post: 8
Iscritto il: 30/10/15 10:46

Re: Excel Web Query ripetuta

Postdi Anthony47 » 05/11/15 14:39

Lascia l'area della query sempre la stessa; ma tu in un'altra area del foglio copierai in N celle adiacenti tutte le info che ti servono usando formule tipo =B3, =B4 etc; quando il refresh della query e' terminato copierai le N celle accodandole a un elenco che crei in Foglio2.
Queste istruzioni sono quelle da inserire nella posizione che avevo marcato "Istruzioni per mettere in ordine le info ottenute dalla query".

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel Web Query ripetuta

Postdi 91freesoul » 09/11/15 12:28

qualcosa di più semplice per favore . grazie
91freesoul
Newbie
 
Post: 8
Iscritto il: 30/10/15 10:46

Re: Excel Web Query ripetuta

Postdi Anthony47 » 09/11/15 16:08

Ovviamente piu' semplice che =B3 =B4 e cosi' via mi vien difficile, quindi penso che non hai capito quanto ti ho suggerito, quindi provo con altre parole:
-la query importa i dati in celle fisse, es in A2:D10 (a casaccio)
-quindi Nome e Cognome sono mettiamo in posizione B3, Indirizzo di posta in B4, Indirizzo stradale in B5, etc

In un'altra area creati una stringa di celle adiacenti, es in Z1:AE1, metti formule che replicano l'informazione che devi estrarre; poi, dopo Refresh BackgroundQuery:=False inserirai le istruzioni che copiano Z1:AE1 e le incollano su foglio2 in coda all'elenco che hai gia' creato con le query precedenti.

Spero che sia piu' chiaro...
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel Web Query ripetuta

Postdi 91freesoul » 11/11/15 12:08

Codice: Seleziona tutto
Sub Macro1()
'
' Macro1 Macro
'
' Scelta rapida da tastiera: CTRL+q
'
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.odcec-rc.it/cgi/intranet.pl?_cgifunction=form&_layout=albo_commercialisti&keyval=albo_commercialisti.albo_commercialisti_id=" _
        , Destination:=Range("$B$2"))
        .Name = _
        "intranet.pl?_cgifunction=form&_layout=albo_commercialisti&keyval=albo_commercialisti.albo_commercialisti_id=711"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "4"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub
Sub Macro2()
'
' Macro2 Macro
'
' Scelta rapida da tastiera: CTRL+w
'
For I = 1 To 1000
    With Range("B2").QueryTable
        .Connection = "URL;http://www.odcec-rc.it/cgi/intranet.pl?_cgifunction=form&_layout=albo_commercialisti&keyval=albo_commercialisti.albo_commercialisti_id=" & I
        .Refresh BackgroundQuery:=False
    End With
    'Istruzioni per mettere in ordine le info ottenute dalla query
Next I
End Sub


i risultato finale deve essere qualcosa così?
premetto che non sono molto pratico ma non riesco a creare un elenco perchè mi sovrascrive le informazioni ricavate e non riesco ad estrapolare i dati differenti che si susseguono nella cella C8 dove vanno a finire le mail. sbaglio qualcosa o quello fino adesso fatto è giusto?
91freesoul
Newbie
 
Post: 8
Iscritto il: 30/10/15 10:46

Re: Excel Web Query ripetuta

Postdi Anthony47 » 11/11/15 22:50

Io avevo suggerito "Per questo basta che crei sul tuo foglio una query web, ad esempio in B2, che estragga il primo dato; poi aggiungi una macro che modifica la connessione di query e la esegua [. . . ]"
Cioe' devi inizialmente impostare, tramite comandi, una web query; po la macro si limitera' a modificare il collegamento e a fare il refresh delle informazioni.
Quindi la prima Macro e' inutile, anzi dannosa (perche' rischia di impostare sul foglio una seconda query). Te la caverai quindi solo con Macro2.

In linea di massima, le istruzioni per la raccolta, nell'ipotesi che i dati utili sono stati allineati con le formule di cui ho detto nei messaggi precedenti in Z1:AD1, saranno abbastanza semplici; del tipo
Codice: Seleziona tutto
Range("Z1:AD1").Copy
Sheets("Foglio2").Cells(Rows.count,1).End(xlup).Offset(1,0).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Excel Web Query ripetuta":


Chi c’è in linea

Visitano il forum: raimea e 23 ospiti