Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

importare url da pagina php in foglio di lavoro excel

  • Messaggi
  • OFFLINE
    stesev1
    Post: 1
    Registrato il: 28/03/2017
    Città: VALLO DELLA LUCANIA
    Età: 45
    Utente Junior
    2016
    00 28/03/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
  • OFFLINE
    by sal
    Post: 5.100
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 29/03/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]

    [Modificato da by sal 29/03/2017 10:05]
    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    stesev1
    Post: 1
    Registrato il: 28/03/2017
    Città: VALLO DELLA LUCANIA
    Età: 45
    Utente Junior
    2016
    00 29/03/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
    [Modificato da stesev1 29/03/2017 11:04]
  • OFFLINE
    stesev1
    Post: 2
    Registrato il: 28/03/2017
    Città: VALLO DELLA LUCANIA
    Età: 45
    Utente Junior
    2016
    00 29/03/2017 11:07
    file
    allego file link



    URL=http://thegroove360.000webhostapp.com/import 2.0.xls
  • OFFLINE
    by sal
    Post: 5.102
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 29/03/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]

    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    stesev1
    Post: 3
    Registrato il: 28/03/2017
    Città: VALLO DELLA LUCANIA
    Età: 45
    Utente Junior
    2016
    00 29/03/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?
  • OFFLINE
    by sal
    Post: 5.104
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 29/03/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]

    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    stesev1
    Post: 4
    Registrato il: 28/03/2017
    Città: VALLO DELLA LUCANIA
    Età: 45
    Utente Junior
    2016
    00 29/03/2017 18:22
    gr
    Grazie per esserti interessato spero che qualcuno sappia come fare seno fa nulla continuerò a farlo a mano !! come posso
    [Modificato da stesev1 29/03/2017 18:42]
  • OFFLINE
    dodo47
    Post: 1.156
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 29/03/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
    [Modificato da dodo47 29/03/2017 19:03]
    Domenico
    Win 10 - Excel 2016