importare url da pagina php in foglio di lavoro excel

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
stesev1
00martedì 28 marzo 2017 16:30
Buon giorno specifico che con excel sono una schiappa !!! mi sono avvicinato ad excel perché mi serve una macro che mi automatizzi il lavoro.
in sostanza da una pagina web devo importare degli eventi sportivi e il relativo link :
con l'aiuto di google sono riuscito a fare questa macro :
TAG CODE

Sub CopiaTabWeb()
Dim mIE As Object
Dim mTables, mTable
Dim mRows, mRow
Dim mCells, mCell
Dim mRiga As Long, mColonna As Long
Dim k As Integer
Set mIE = CreateObject("InternetExplorer.Application")
k = 0
mRiga = 2
With mIE
.AddressBar = False
.StatusBar = False
.MenuBar = False
.Toolbar = 0
.Visible = True ' True= fa vedere la pagina web
.navigate "http://www.acesoplisting.in/index.php"
End With

'Attesa finchè la pagina non è completa
While mIE.Busy
Wend
While mIE.document.readyState <> "complete"
Wend

Set mTables = mIE.document.all.tags("TABLE")
For Each mTable In mTables
Set mRows = mTable.Rows
For Each mRow In mRows
Set mCells = mRow.Cells
If Cells(mRiga - 1, 2) = "" Or Cells(mRiga - 1, 2) = "No." Then
mColonna = 2
Else
mColonna = 3
End If
If k = 1 Then mColonna = 1
For Each mCell In mCells

ActiveSheet.Cells(mRiga, mColonna) = mCell.innerText
mColonna = mColonna + 1
Next mCell
mRiga = mRiga + 3
Next mRow
k = 1
Next mTable

Azzera_Variabili:
Set mCell = Nothing
Set mCells = Nothing
Set mRow = Nothing
Set mRows = Nothing
Set mTable = Nothing
Set mTables = Nothing
mIE.Quit
Set mIE = Nothing
MsgBox "Fine importazione"
End Sub

TAG CODE

La macro mi prende i titoli degli eventi e li mette in modo corretto dove mi servono il problema e che non riesco a prendere i link
spero qualcuno mi aiuti perché vuol dire risparmiare molto tempo ed è davvero importante.
Grazie
by sal
00mercoledì 29 marzo 2017 10:03
Link
Ciao Stefano, excel permette di prendere dati da un link del web, hai provato in "Dati" "importa dati da web"

inserisci il file per un aiuto più concreto.

Ciao By Sal [SM=x423051]

stesev1
00mercoledì 29 marzo 2017 11:03
macro auto
innanzi tutto grazie per aver risposto !!!
Conosco la funzione ma a me non serve la pagina web intera basterebbe un copia e incolla ma che la macro prende solo lo stretto necessario e lo posizione nelle celle giuste
stesev1
00mercoledì 29 marzo 2017 11:07
file
allego file link



URL=http://thegroove360.000webhostapp.com/import 2.0.xls
by sal
00mercoledì 29 marzo 2017 15:29
Importa dati
Ciao Stefano, ho fatto io la query per importare i dati, nel foglio 2
premi aggiorna.

ho visto che sono gli stessi dati del foglio1, forse più completi, oppure non era cosi che li volevi.

Ciao By Sal [SM=x423051]

stesev1
00mercoledì 29 marzo 2017 16:04
url
Si vedo che sei riuscito a prendere più dati ma in realtà i dati che prendo bastano mi manca il collegamento ipertestuale del canale mi serve che metta anche quello sotto ogni canale quella parte di codice non c'è nel file perché non mi funziona mi blocca la macro.
Cerco di farmi capire

1:00 BASKETBALL ORLANDO MAGIC-OKLAHOMA CITY THUNDER USA NBA questa linea in fine ha questo lik : acestream://f827160e22693cf414453f738165a4f580721539

a me serva che scriva cosi il link sotto la linea dell'evento in sostanza deve essere cosi

1:00 BASKETBALL ORLANDO MAGIC-OKLAHOMA CITY THUNDER USA NBA
acestream://f827160e22693cf414453f738165a4f580721539
1:00 TENNIS MASTERS 1000 MIAMI ATP WORLD TOUR
acestream://adc607fbdee2e928193b16483893bfeacaa794ed


e via dicendo
pensi si possa fare?
by sal
00mercoledì 29 marzo 2017 16:59
Importa dati
Ciao Stefano, non credo si possa fare in quanto sono indirizzi di pagine url.

tranne se non si riesce a copiare come html ed estrarre i vari link

ma io non so come fare.

Ciao By Sal [SM=x423051]

stesev1
00mercoledì 29 marzo 2017 18:22
gr
Grazie per esserti interessato spero che qualcuno sappia come fare seno fa nulla continuerò a farlo a mano !! come posso
dodo47
00mercoledì 29 marzo 2017 19:02
Ciao
i dati che tu vuoi sono all'interno del documento HTML e non della tabella che tu importi.
Pertanto devi leggere la pagina HTML ed estrarre tutti i link che iniziano per "acestream:".

Io fin qui ci arrivo, ma non sono in grado di "accoppiare" la riga con il link.

Se fai la seguente aggiunta alla tua macro, in colonna A (che per te è libera) ti verranno riportati tutti quei link, ma per l'ordine non ho la minima idea come fare.

PRIMA inserisci nel vba il riferimento a Microsoft HTML Object Library, poi dopo il caricamento della pagina oppure prima dell'azzeramento delle variabili inserisci:

...
Dim html As HTMLDocument
Dim ElementCol As Object
Dim link As Object
Set html = mIE.document
Set ElementCol = html.getElementsByTagName("a")
For Each link In ElementCol
    If Left(link, 10) = "acestream:" Then
       r = r + 1
       Cells(r, 1) = link
    End If
Next
...


Saluti
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 10:28.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com