Condividi:        

Download si/no ??

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

Download si/no ??

Postdi Gianca532011 » 15/10/25 12:52

Ciao a tutti,
chiarisco il significato del titolo , ovvero ho un file che scarica alcuni dati di borsa , accade però che taluni Isin NON vengono scaricati , fermo restando che la pagina è la stessa quindi anche le conduzioni Html sono le stesse. Non riesco a capire il perchè oppure se c'è un errore nel VBA. Se qualcuno volesse dare una occhiata ... lo ringrazio da subito.
allego file e codice . grazie
[codeOption Explicit
Public Sub test2() '

Dim Html As MSHTML.HTMLDocument

Dim CollA As Object
Dim N As Long, I As Long
Dim dati As Variant
Dim dati1 As Variant
Dim intest As Variant
Dim MyIsin As String
Dim uR As Long
Dim R
Dim Ws1 As Worksheet
Set Ws1 = Sheets("Isin")
Ws1.Select
Ws1.Activate
Application.EnableEvents = False


uR = Ws1.Cells(Rows.Count, 1).End(xlUp).Row
Ws1.Range("B2:O" & uR).Clear
' codifica come stringa
Set Ws1 = Sheets("Isin")
Ws1.Select
Ws1.Activate
Application.EnableEvents = False
'
Call ControllaISIN
intest = Array("Isin", "Descrizione", "Ultimo", "Chiusura", "Variazione % ", "Valuta", "Lotto", "Cedola Periodale", "Cedola annua", "Rendimento a scadenza Lordo", "Rendimento a scadenza netto", _
"Rateo Lordo %", "Rateo Netto %", "Duration", "Mkt") ' la scadenza trovasi sulla scheda Dati completi "Scadenza", Come ci arrivo ???
Range("A1:O1") = intest
uR = Ws1.Cells(Rows.Count, 1).End(xlUp).Row
Ws1.Range("B2:O" & uR).Clear
' codifica come stringa
With Ws1
.Range("C2:N" & uR).NumberFormat = "@"

' --------------converti isin a maiuscolo-------------------------------
Dim X As Object
For Each X In Range("A2:A" & uR)
X.Value = UCase(X.Value)
Next

'----------------------------------->>>>>>>>>>>>>>>>---------------------------
Set Html = CreateObject("htmlfile")

With CreateObject("WINHTTP.WinHTTPRequest.5.1")

For N = 2 To uR
MyIsin = Cells(N, 1)
If MyIsin <> "" Then

'Provo su Mot:
.Open "GET", "https://www.borsaitaliana.it/borsa/obbligazioni/mot/btp/scheda/" & Cells(N, 1) & ".html?lang.it", False
'https://www.borsaitaliana.it/borsa/obbligazioni/mot/btp/scheda/" & Cells(N, 1) & ".html?lang=it", False
.send
Html.body.innerHTML = .responseText
Application.Wait Now + TimeValue("00:00:02") 'pausa di 1 secondi
'On Error Resume Next
Set CollA = Html.getElementsByClassName("t-text -right")
'On Error GoTo 0

If Not CollA Is Nothing Then
If CollA.Length > 5 Then '+++
'trovato su Mot
'gestisci i dati da Mot
On Error Resume Next ' questo non è possibile toglierlo
dati1 = Array(0, 0, 32, , 0, , 28, 27, 40, 41, 11, 12, 13, 14, 15, 29, 36)


For I = 2 To 17
Cells(N, I) = CollA(dati1(I)).innerText
Next I
On Error GoTo 0

'Debug.Print N, MyIsin
End If
End If

If Cells(N, 15) = "" Then
Cells(N, 15) = "TLX"
End If
On Error GoTo 0
'

End If
Next N
End With
End With

' --------------------converte testo a numero--------------------------------
For Each R In Sheets("Isin").UsedRange.SpecialCells(xlCellTypeConstants)
If IsNumeric(R) Then
R.Value = CSng(R.Value)
R.NumberFormat = "0.00"
End If
Next
'
Range("C2:D" & uR).NumberFormat = "#,##0.00"
Range("F2:F" & uR).NumberFormat = "#,##"
End Sub

][/code]


https://limewire.com/d/OhFIz#0bXSnXGmXP
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 366
Iscritto il: 27/05/11 10:18

Sponsor
 

Re: Download si/no ??

Postdi Raffaele53 » 15/10/25 18:42

Credo siano pagine inesistenti, prova digitare
https://www.borsaitaliana.it/borsa/obbl ... 0005634792
Raffaele53
Utente Senior
 
Post: 101
Iscritto il: 03/10/24 13:06

Re: Download si/no ??

Postdi Gianca532011 » 16/10/25 13:01

Ciao raffaele ,
il link corretto e completo è questo :

https://www.borsaitaliana.it/borsa/obbl ... ml?lang=it

e vedrai che apre perfettamente la pagina . Ma stante che è lo stesso che uso nel VBA sopra perchè alcune le apre e le altre no.
Prova a scaricare l'excel e vedrai che si comporta cosi . :eeh:
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 366
Iscritto il: 27/05/11 10:18

Re: Download si/no ??

Postdi Anthony47 » 16/10/25 15:22

Avatar utente
Anthony47
Moderatore
 
Post: 19666
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Download si/no ??

Postdi Gianca532011 » 16/10/25 15:38

Ciao Anthony,
non so cosa dire , questo è ciò che ottengo :


https://i.postimg.cc/Bt9pNS6y/Screensho ... -30-54.png


Non fate caso al Tlx in colonna O , lo metto io se non trovato sul MOT , ma in questo caso SONO sicuro che sono sul Mot!
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 366
Iscritto il: 27/05/11 10:18

Re: Download si/no ??

Postdi Anthony47 » 16/10/25 15:47

Ottengo lo stesso risultato, ma semplicemente perche' il sito non conosce quei titoli: prova gli url che ti ho segnalato e vedrai che non ti restituisce altro che la pagina di ricerca, non del titolo. Quesi titoli probabilmente saranno catalogati con altre sigle, non Obbligazioni/MOT/BTP
Avatar utente
Anthony47
Moderatore
 
Post: 19666
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Download si/no ??

Postdi Anthony47 » 16/10/25 15:58

Mi dice Gemini:
In sintesi:
IT0005634792: Codice di "nascita" o di sottoscrizione.
IT0005634800: Codice di negoziazione e vita del titolo.
Quando cerchi le quotazioni attuali del titolo (che è ormai in negoziazione sul mercato), dovresti utilizzare l'ISIN IT0005634800
Avatar utente
Anthony47
Moderatore
 
Post: 19666
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Download si/no ??

Postdi Gianca532011 » 16/10/25 16:08

Anthony Grazie .
E' proprio come hai detto tu, mannaggia alla borsa che cambia gli Isin .

Immagine


Se poi colmi la mia ignoranza sull'uso di Gemini mi rendi un uomo felice, alla mia età mi accontento con poco . :D
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 366
Iscritto il: 27/05/11 10:18

Re: Download si/no ??

Postdi Raffaele53 » 16/10/25 16:13

Pure io ottengo lo stesso risultato, il VBA crea delle stringhe usando alcune parti di testo:

Inizio>>> https://www.borsaitaliana.it/borsa/obbl ... tp/scheda/
Titolo>>> IT0005377152
Finale>>>.html?lang=it

Ora riunendo questi tre testi si forma un Link (che fornisce dati), perché la pagina esiste.
Basta cambiare IT0005377152 con IT0005634792 e vedrai che la pagina HTML e inesistente.
Significa che quell'Obbligazione non esiste più.
Raffaele53
Utente Senior
 
Post: 101
Iscritto il: 03/10/24 13:06

Re: Download si/no ??

Postdi Gianca532011 » 16/10/25 16:58

Grazie a Geminy , e ad Anthony che mi ha illuminato, ho risolto tutto.

Immagine

Adesso però mi sorge il problema con questi titoli di sapere quando ho un Isin di collocamento piuttosto che un Isin definitivo . Chissà se si può interrogare Gemini da VBA ?
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 366
Iscritto il: 27/05/11 10:18

Re: Download si/no ??

Postdi Anthony47 » 16/10/25 20:02

Ho chiesto a Gemini:
Mi puoi dare gli ISIN definitivi di questi codici:
IT0005634792
IT0005466344
IT0005565392


Mi ha risposto:
Ecco gli ISIN definitivi di negoziazione per i codici che hai fornito:
ISIN Fornito ISIN Definitivo Descrizione del Titolo
IT0005634792 IT0005634800 BTP Valore (precedentemente BTP Più), scadenza Febbraio 2033
IT0005466344 IT0005466351 BTP Futura (4^ emissione), scadenza Novembre 2033
IT0005565392 IT0005565400 BTP Valore (2^ emissione), scadenza Maggio 2027


Ho fatto una domanda analoga a Copilot (integrato in Office 365) e mi ha dato una equivalenza analoga, a parte per IT0005634792 che ha dichiarato "isin ancora da assegnare"


Per usare GEMINI da vba devi chiedere una API Key, anche in versione gratuita; parti da https://aistudio.google.com/app/api-keys, c'e' un tasto Create API Key, poi procedi a intuito :)

Poi su Google trovi la Function GetResponsefromGemini, che devi copiare pari pari in un modulo standard del vba, e personalizzare con la tua chiave (io l'avevo presa qui: https://www.excelsirji.com/gemini-api-key-for-excel/)

Usando una mia chiave, ho scritto questo codice:
Codice: Seleziona tutto
Sub GimmeNegoziabili()
Dim StartL As String, Isin As Range, GQuery As String
StartL = "A2"
For Each Isin In Range(Range(StartL), Range(StartL).End(xlDown))
    If Isin.Offset(0, 1) = "" Then
        GQuery = "Hai un ISIN negoziabile per l'ISIN provvisorio " & Isin.Value
''        Isin.Offset(0, 1).Value = GetResponsefromGemini(GQuery)
        MsgBox GetResponsefromGemini(GQuery)
    End If
Next Isin
End Sub

Come vedi mi sono accontentato di ottenere le risposte su msgbox invece che compilare una cella Excel. Guardando la risposta che ti restituisce sui codici si capisce come manipolare il testo per estrarre il valore utile. Non l'ho fatto perché le risposte sono spesso deludenti; esempio in questo modo sul codice IT0005634792 (presente 2 volte in elenco) mi dice prima che e' sostituito da IT0005632739 e la seconda volta da IT0005517187, e comunque diverso da quanto aveva detto alla prima query (IT0005634800).

Non ho indagato per capire quanto le risposte siano veritiere; in ogni caso i tempi di risposta sono lunghissimi
Avatar utente
Anthony47
Moderatore
 
Post: 19666
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Download si/no ??

Postdi Gianca532011 » 17/10/25 18:12

Grazie Anthony, l'argomento è stimolante , magari anche utile. provo a vedere se combino qualcosa altrimenti ... ritorno a chiedere . Ciao . :)
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 366
Iscritto il: 27/05/11 10:18

Re: Download si/no ??

Postdi Gianca532011 » 18/10/25 08:46

Ciao Anthony ,
ti dispiacerebbe dare una lettura a questo link
https://www.listendata.com/2023/12/inte ... excel.html
e dirmi cosa ne pensi ?
Grazie
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 366
Iscritto il: 27/05/11 10:18

Re: Download si/no ??

Postdi Anthony47 » 18/10/25 17:53

Interessante, ma come tanti altri siti
Quanto alla AI, credo sia in grado di dare un contributo notevole su mole di dati di grandi dimensioni, che potrebbero mandare in fumo i neuroni dell'uomo medio; penso che invece non abbia senso chiedergli di elaborare per me una formula (se non sono in grado di elaborarla, come faro' a controllare che quanto mi risponde sia corretto?) o di fare cose che gia' fa excel con le sue funzioni e i suoi comandi nativi
Avatar utente
Anthony47
Moderatore
 
Post: 19666
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Download si/no ??

Postdi Gianca532011 » 19/10/25 13:42

Comunque , a parità di domanda ho visto che a volte ci piglia ma parecchie volte no.
Quindi non vorrei implementare excel con un prodotto non ancora perfezionato.
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 366
Iscritto il: 27/05/11 10:18


Torna a Applicazioni Office Windows


Topic correlati a "Download si/no ??":


Chi c’è in linea

Visitano il forum: Nessuno e 33 ospiti

cron