Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Hybrid View

  1. #1

    Come Estrarre Dati Relativi Ad Una Pagina Meteo con questo mio link

    Buon Giorno a Tutti mi chiamo Maurizio
    E il mio problema e questo:
    Usando un foglio di Excel con Microsoft Office 2007
    Sto tentando di recuperare dei dati da una pagina web inerente alle Previsioni meteo.
    Ora come primo approccio non mi sembra che le cose vadino poi cosi tanto male.
    Però il problema e che non riesco ad estrarre i dati veri e propri
    Come ad Esempio : L'indicazione del tempo attuale ho le (Min e Max) ecc...!
    Potreste voi gentilmente apportare alcune modifiche al mio progetto in modo che io possa capire sulla base pratica dove stò sbagliando.
    Grazie per tutto l'aiuto che vorrete darmi in merito .
    Saluti sinceri da A.Maurizio

    (P.S) Il link Per Scaricare il mio progetto di prova e questo :
    https://app.box.com/s/nx1pbac4r8v87sf0skzhoyf9jnkxwzmw
    A.Maury1704

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,482
    Quote Originariamente inviata da A.Maurizio Visualizza il messaggio
    Potreste voi gentilmente apportare alcune modifiche al mio progetto in modo che io possa capire sulla base pratica dove stò sbagliando.
    No, non è questo il modo di porre discussioni all'interno di questo forum: non è corretto indicare la problematica da risolvere, costringere gli utenti a scaricare un documento che magari un domani verrà rimosso e delegare a loro l'azione di modifica del software e la spiegazione in toto delle motivazioni per cui hanno fatto una correzione piuttosto che un'altra.

    Leggi il Regolamento di quest'area del forum e segui le norme descritte al suo interno.

    In particolare, occorre indicare con precisione qual è l'errore ottenuto o il comportamento anomalo e, in secondo luogo, riportare la parte di codice rilevante o quella relativo al problema sul forum, in modo che tutti possano vederlo e dare suggerimenti su come correggerlo, correzioni che dovrai apportare tu aggiornando poi il thread di conseguenza sull'avanzamento della risoluzione del problema.

    Per favore, aggiungi quindi le informazioni mancanti come indicato.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Ciao Marco Chiedo umilmente scusa per l'accaduto
    Ma non era mia intenzione ; E ti prego di credermi
    Creare dei dissensi e malumori nel vostro forum.

    Ho semplicemente Trattato il tutto come in un qualunque altro forum che ho avuto a che fare in passato; Tutto qui !
    Pertanto chiedo nuovamente scusa
    E vi chiedo di spiegarmi bene cosa e meglio che fare in questi casi; In modo tale da non incorrere in altri dissapori nei vostri confronti tutto qui.

    In pratica con questo mio Progetto , mi stò accingendo a voler
    estrappolare con questo codice

    codice:
    Sub m()On Error GoTo 1
        Dim oggCol As Object
        Dim copy As String
        Dim i As Long
        
        x = Foglio1.Range("I1").Value
        
         URL = "https://www.3bmeteo.com/meteo/" & x & ""
            Set IE = CreateObject("InternetExplorer.Application")
    
    
        With IE
           .Visible = 1
           .navigate URL
          While .Busy Or .readyState <> 4
            DoEvents
          Wend
        End With
        
    Dim prima() As String
        Set oggCol = IE.Document.getElementsByClassName("row")
          Sheets("Foglio1").Range("D10").Select
             i = 0: riga = 10: col = 4
           While i < oggCol.Length
            If oggCol(i).className = "row" Then
              copy = oggCol(i).innerText
              prima = Split(copy, " ")
              
              Cells(riga + 1, col) = oggCol(i).Children(1).innerText
              
               n = 2: s = 4: p = 6: o = 8: t = 10
                Cells(riga, col).Value = prima(n - 1)
                Cells(riga + 3, col).Value = prima(s - 2)
                Cells(riga + 4, col).Value = prima(p - 3)
                
                Cells(riga + 5, col).Value = prima(o - 4)
                Cells(riga + 6, col).Value = prima(t - 5)
                
              col = col + 1
            End If
               i = i + 1
            Wend
        
        'ie.Quit
        Set IE = Nothing
        Set oggCol = Nothing
    1:
    I soli dati Reali delle previsioni Meteo del Momento
    Ha me basterebbe anche solo la prima riga di dati ; Come si vede in questa immagine:
    Prev_1_°C_1.jpg
    Tutto qui
    Ciao e nuovamente grazie
    A.Maury1704

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,482
    Quote Originariamente inviata da A.Maurizio Visualizza il messaggio
    Ma non era mia intenzione ; E ti prego di credermi
    Creare dei dissensi e malumori nel vostro forum.
    [...]
    Pertanto chiedo nuovamente scusa
    E vi chiedo di spiegarmi bene cosa e meglio che fare in questi casi; In modo tale da non incorrere in altri dissapori nei vostri confronti tutto qui.
    Non è successo niente di grave: sono solo intervenuto per spiegare la modalità corretta di aprire le discussioni all'interno del forum.

    Direi che ora i dettagli ci sono, magari quindi qualcuno sarà anche più incentivato a partecipare.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    [QUOTE=alka;25561383]Non è successo niente di grave: sono solo intervenuto per spiegare la modalità corretta di aprire le discussioni all'interno del forum.

    Direi che ora i dettagli ci sono, magari quindi qualcuno sarà anche più incentivato a partecipare.

    Ciao![Marco come sempre sei una persona squisita e sincera; Grazie per la tua puntualizzazione in merito hai miei errori.
    Spero solo che si possa risolvere il tutto nel frattempo io continuerò a provare a porre modifiche al caso ; Chissà che ne possa venire fuori qualche cosa di valido.
    Saluti sinceri e Buona Pasqua a tutti voi da A.Maurizio /QUOTE]
    A.Maury1704

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Ma non avevi risolto due anni fa

    https://m.pierotofy.it/p/forum/69/10...cel_ho_il_vb6/

    ?

    Ogni tanto torni all'attacco? :-)

    P.S. Sul fatto di "trattare tutto come su qualsiasi altro forum" ti faccio notare che in tanti altri, compreso questo

    https://masterdrive.it/microsoft-acc...89/#post375985

    ti hanno detto che non si lascia il codice da scaricare agli utenti, mollando il problema e basta.
    Ultima modifica di oregon; 27-03-2021 a 17:17
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    [QUOTE=oregon;25561417]Ma non avevi risolto due anni fa

    https://m.pierotofy.it/p/forum/69/10...cel_ho_il_vb6/

    ?

    Ogni tanto torni all'attacco? :-)

    P.S. Sul fatto di "trattare tutto come su qualsiasi altro forum" ti faccio notare che in tanti altri, compreso questo

    https://masterdrive.it/microsoft-acc...89/#post375985

    ti hanno detto che non si lascia il codice da scaricare agli utenti, mollando il problema e basta.[Ciao Oregon
    Scusami ma questa Volta non ti capisco; in quanto.
    !) questo progetto lo voluto riprendere, in quanto Non sono mai Riuscito a Risolverlo:
    E che mi ricorda Io nessuno di voi sia mai riuscito a darmi nel concreto una soluzione Valida.
    2) Non e il primo Forum che condivido i miei lavori o le mie richieste:
    Ma anche qui non ho mai trovato nessuna difficolt� sia nel mettere il mio lavoro di prova; Che semplicemente il codice scritto.
    Per me sinceramente parlando quello che sostienu tu ; Mi giunge nuova.
    4) Detto ci� ieri sono stato ripreso da Marco che tra le altre cose Saluto.
    E pensavo che subito dopo il suo intervento fosse stato risolto tutto il problema.
    Ora posso sapere cosa c'� che non va.
    IOn modo che si possa chiarire una volta per tutte queste tue uscite o dispute nei miei confronti.
    Non penso di averti mai mancato di rispetto.
    Pertanto esigo una spiegazione logica e coerente con quanto detto sino ad ora, Perch� Ripeto : Questo tuo atteggiamento da sovranista nei miei confronti ; Proprio non lo capisco.
    Se non vi interessa aiutarmi nella mia richiesta.
    Non e il caso di farla tanto lunga; Mi basta che mi diciate che non vi interessa.
    E va bene cosi.
    Ma sentirmi sempre Denigrare in questo modo da uno che neppure conosco.
    Il tutto mi sembra un po' troppo /QUOTE]
    Comunque Ciao e Buona Serata a Tutti Voi Dello Staff
    A.Maury1704

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Ti ho solo scritto che tu avevi detto

    Ho Già risolto da me il mio problema

    e quindi ti chiedevo come mai facessi nuovamente la domanda.

    Per il resto, come altre volte, non ho capito cosa hai detto o chiesto ed è per questo che non ti vengono proposte soluzioni.

    Magari se commentassi le righedel codice per spiegarci cosa fanno e dove hai problemi/errori, quali errori ... forse avresti qualche suggerimento (ovviamente nessuno scriverebbe il codice al posto tuo, il programma lo devi scrivere tu ....).

    Buon lavoro comunque ...
    Ultima modifica di oregon; 27-03-2021 a 18:47
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Oregon Ti pare che sè io avessi risolto questo problema ; Lo avrei riproposto ?
    A.Maury1704

  10. #10
    La mia richiesta e sempre la stessa ; Fatta ieri.
    E cio� : Come puoi vedere dal mio listato, ho inserito il termine (row) perch� questo sito usa una forma Tabellare da quanto ho capito io.
    Pertanto se metto in entrambi le posizioni il termine (row) esso mi prende tranquillamente la prima parte dei dati che sono: (" Data - localit� - Perturbazione in percentuale ecc...! ")
    Mentre il termine (table e div ) dovrebbe prendere tutto il resto come si vede nell'immagine che ho inserito ieri nel mio primo post.

    Ora il problema e questo: Se uso come ho gi� detto e fatto in precedenza il termine (row) la prima parte viene estratta
    Al contrario non so come estrarre i dati inerente alle Mn o Max anche solo della prima fila di dati Proprio come si vede nell'immagine
    Tutto qui .
    E pensare che in un altro progetto fatto in un altro foglio di excel , riesco ad estrarre qui tutto quanto
    Purtroppo per� in questo caso ; L'estrazione di tutti i dati avvengono tutti in una sola cella.
    Pertanto sono punto e a capo.
    E non s� come risolvere questo problema.
    Per� se magari tu che sei decisamente pi� capace di me
    Prova a dare un occhiata a questo listato ; Che � poi quello che ti ho appena descritto
    Solo che ripeto il tutto avviene solo nella cella (B13)

    Sempre ch� non commetta qualche cosa che non va
    Questo e il Listato N.2 :
    codice:
    Option Explicit
    
    Private Declare Function URLDownloadToFile Lib "urlmon" _
    Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, _
    ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
    
    
    Dim Campo As Range
    Dim IE
    Dim Forma As Object
    Dim myStart
    Dim Y As String, X As String
    Dim Getimgurl As HeaderFooter
    
    
    Dim rngTarget As Range
    Dim getElementsByTagName As Variant
    Dim getElementsByClassName As Variant
    Dim innerText As Variant
    
    
    Dim OggCol As Object, OggCol1 As Object, OggCol2 As Object, OggCol3 As Object, OggCol4 As Object, OggCol5 As Object, OggCol6 As Object, OggCol7 As Object, OggCol8 As Object, OggCol9 As Object, OggCol10 As Object
    Dim cell, shp As Shape, Target As Range
    Dim rng As Object
    Dim filenam As Variant
    Dim I As Long
    
    
    Dim cel As Variant, Text As Variant, Riga As Variant, UltimaRiga As Variant, Search As Variant, SearchRange As Variant, MyStr As Variant, MyStr2 As Variant, UpperCase As Variant, UpperCase2 As Variant
    
    
    Dim Domanda As String, Domanda2 As String
    
    
    Sub Previsioni_Meteo(ByVal myURL As String)
    On Error GoTo finish
    
    
    X = Foglio1.Range("D1").Value & ""
    
    
    'Va Chiamata passandogli l'URL da leggere
    myURL = "https://www.3bmeteo.com/meteo/" & X & ""
    
    
    Set IE = CreateObject("InternetExplorer.Application")
       
    With IE
    .Navigate myURL
    .Visible = True
    
    
    Do While .Busy: DoEvents: Loop
    Do While .ReadyState <> 4: DoEvents: Loop
    
    
    End With
    
    
    Do
        DoEvents
        If Timer > myStart + 2 Or Timer < myStart Then Exit Do
    Loop
    
    
    'Scrive sul Foglio Attivo
    On Error Resume Next
    
    
    Set OggCol = IE.Document.getElementsByClassName("row") '- Localit� Me1teo
    Set OggCol1 = IE.Document.getElementsByClassName("table") '(0).innerText         '- Minima Attuale
    
    
    Set OggCol2 = IE.Document.getElementsByClassName("table")
    'Set OggCol4 = OggCol1(1).getElementsByTagName("glider-track")(0).innerText
    
    
    With IE.element.getAttribute("table")
    Sheets("Meteo").Range("B14").Value .getAttribute("=col-xs-1.2")(0).innerText
    'Sheets("Meteo").Range("B11").Value = ("=col-xs-1-3 col-sm-3-5") & innerText
    
    
    Sheets("Meteo").Cells(8, 2) = OggCol(0).innerText
    
    
    Sheets("Meteo").Cells(13, 2) = OggCol2(0).innerText
    
    
    End With
    
    
    
    
    
    
    'Sheets("Meteo").Cells(13, 0) = OggCol(0).innerText
    '���������������������������������������������������������������������������������
    'For I = 1 To OggCol1.Length
    
    
    'With Foglio1
    
    
    '.Range("B30").Offset(I, 0) = OggCol3(I).getAttribute("src")
    
    
    
    
    'End With
    
    
    'Next I
    
    
    '################################################################################
    'X = Mid(Foglio1.Range("B13").Value, 70)
    
    
    'Foglio1.Range("B9").Value = "" & X
    
    
    
    
    
    
    '################################################################################
    'Range("A11").VerticalAlignment = xlCenter
    
    
    'Foglio1.Range("A:B").WrapText = True
    
    
    'Foglio1.Range("A1").Select
    
    
    '################################################################################
    'Chiusura IE
    'IE.Quit
    Set IE = Nothing
    
    
    Call Preleva_I_Dati_Dalla_Cella_web
    'Call dividi
    finish:
    End Sub
    
    
    Sub Preleva_I_Dati_Dalla_Cella_web()
    'Contatore per la scrittura di parole trovate
    Riga = 2
    
    
    'Svuota l'ultima ricerca
    UltimaRiga = ThisWorkbook.Worksheets("Meteo").Range("L1").End(xlDown).Row
    If ThisWorkbook.Worksheets("Meteo").Range("L2") <> "" Then
        ThisWorkbook.Worksheets("Meteo").Range("L2:L" & UltimaRiga).ClearContents
    End If
    
    
    Set Search = ThisWorkbook.Worksheets("Meteo").Range("K2:K100")
    Set SearchRange = ThisWorkbook.Worksheets("Meteo").Range("B13")
     
    For Each cel In SearchRange
        For Each Text In Search
            If InStr(cel, Text) Then
                Debug.Print "Trovato " & Text & " alla cella " & cel.Address
    
    
                'Scrivere le parole trovate
                ThisWorkbook.Worksheets("Meteo").Range("L" & Riga).Value = Text
                Riga = Riga + 1
            End If
        Next Text
    Next cel
    
    
    Call Rendi_La_Prima_Letta_In_Maiuscolo
    End Sub
    
    
    Sub Rendi_La_Prima_Letta_In_Maiuscolo()
    'Domanda = InputBox("Inserire il Tuo Nome Grazie...!")
    Domanda = Foglio1.Range("L2").Value
    Domanda2 = Foglio1.Range("L3").Value
    
    
      MyStr = Domanda
       MyStr2 = Domanda2
    
    
    UpperCase = Left(Domanda, 1)
    UpperCase2 = Left(Domanda2, 1)
      'Foglio1.Range("A3").Value = "Ciao"
        Foglio1.Range("L2").Value = UCase(UpperCase) + Mid(Domanda, 2, 15)
    Foglio1.Range("L3").Value = UCase(UpperCase2) + Mid(Domanda2, 2, 15)
    
    
    Call Preleva_Solo_I_Dati_Interessati
    End Sub
    
    
    Sub Preleva_Solo_I_Dati_Interessati()
    
    
    'Foglio1.Range("A6:C6").WrapText = True
    
    
    With Foglio1
    .Range("L2").Copy
    .Range("B9").PasteSpecial
    
    
    .Range("L3").Copy
    .Range("B10").PasteSpecial
    
    
    End With
    
    
    'Foglio1.Range("B13").Select
    'Foglio1.Range("B13").Clear
    
    
    'Call Converti_In_Maiuscol_a_Prima_Lettera
    
    
    End Sub
    
    
    Sub Converti_In_Maiuscol_a_Prima_Lettera()
    Dim Stringa, Parola
    Dim Righe, R, Colonne
    Dim Intervallo As Range
    ' prima fase: determino li'intervallo su cui lavorare
    With Range("L2").Value
    Righe = .Rows.Count
    Colonne = .Columns.Count
    Set Intervallo = .Resize(Righe, Colonne)
    End With
    If IsEmpty(Intervallo) Then
    MsgBox "L'intervallo � vuoto"
    Exit Sub
    End If
    ' seconda fase: conversione delle stringhe mettendo in maiuscolo i soli primo caratteri
    For R = 1 To Righe
    Stringa = Intervallo(R, 1)
    If Stringa <> "" Then
    Parola = StrConv(Stringa, vbProperCase)
    Intervallo(R, 1) = Parola
    End If
    Next
    
    
    'Call Rimuovi_Il_Ritorno_A_Capo_Delle_Celle
    End Sub
    
    
    
    
    
    
    Sub Rimuovi_Il_Ritorno_A_Capo_Delle_Celle()
         Dim Intervallo As Range
         Application.ScreenUpdating = False
         Application.Calculation = xlCalculationManual
    
    
         For Each Intervallo In ActiveSheet.UsedRange
            If 0 < InStr(Intervallo, Chr(10)) Then
                Intervallo = Replace(Intervallo, Chr(10), "")
            End If
         Next
    
    
    
    
    
    
         Application.ScreenUpdating = True
         Application.Calculation = xlCalculationAutomatic
         
    
    
    End Sub
    A.Maury1704

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.