IceBond vol. 2

Scusate l'ultimo ICEBOND è quello al post 517?
Funziona?

Mi autorispondo: Si il file si chiama ICEBOND
poi ho scaricato anche AggiornaPrezzi
e AggPrezzi
Mi dite qual è la differenza tra questi tre file?
 
Ultima modifica:
icebond 2.46

Buongiorno.
Da ieri Icebond 2.46 non funziona più: Microsoft visual basic. Error run-time 5.
Anche a qualcun altro dà lo stesso problema?
 
A me funziona regolarmente, ma dopo il salvataggio dei dati appare una finestra che chiede la password.
 
A me usando sempre excel 2010 funziona tutto
 
qualcuno utilizza Icebond con Excel 2007 in Italiano ? se si, a voi funziona ?
 
Ultima modifica:
Buongiorno, con Windows 10 e Excel 2007, funziona regolarmente.
 
Secondo me e' cambiato qualcosa nella formattazione delle pagine di Borsaitaliana e il "parser" legge qualcosa che non riesce ad interpretare correttamente.

Ice, se serve una mano scrivimi in pvt.
 
il punto sul "Runtime Error 5"

Secondo me e' cambiato qualcosa nella formattazione delle pagine di Borsaitaliana e il "parser" legge qualcosa che non riesce ad interpretare correttamente.
No, in quel caso non funzionerebbe a nessuno, ma lo sistemerei facilmente, come già fatto purtroppo decine di volte in passato.

Qui il problema è decisamente più complesso, appena posso vedo di descrivere il tutto in modo più preciso possibile...

Nel frattempo, per i soli utenti a cui si presenta il famigerato "Runtime Error 5", si può fare questa prova:

1) scaricare l'allegato file semplificato di debug, de-zipparlo (è di pochi Kb, devo zipparlo solo per le regole degli allegati del FOL), e aprirlo.
2) cliccare su GetText e vedere se quello che compare è simile a quanto compare a me, come da screenshot allegato (nel qual caso, anche IceBond, AggPrezzi, ecc. dovrebbero funzionare !)
3) se nel testo che appare ci sono inframmezzate delle scritte "diverse" (lo snippet-code in javascript) postare uno screenshot, e specificare su quale versione di Office e di Windows si sta operando.

Grazie ! :cool:
 

Allegati

  • RunTime Err 5 - DEBUG.zip
    27,6 KB · Visite: 47
  • screenshot.jpg
    screenshot.jpg
    176,7 KB · Visite: 17
Quel file di debug semplicamente scarica la pagina "Dati Completi" di ENI, e permette di ricavare il contenuto in formato di puro testo (quello che in effetti serve al programma per ricavare i dati delle quotazioni, che a me e molti altri funziona perfettamente, ma ad altri ancora da problemi), ma anche la pagina in formato HTML (piena di una miriade di testo "inutile" ai fini finanziari, solo per poter vedere "cosa c'è dentro", più una curiosità che altro...), e il contenuto della stessa pagina come si ricava col WebBrowser di Internet Explorer.
Il tasto "Salva Pagina" semplicemente scrive il contenuto della textbox sul file "pagina.txt" nella stessa cartella del file Excel in esecuzione.

Ora vado a farmi un bagno :cool:, il seguito alla prossima puntata ! OK!
 
Eccomi : windows 10 home 64 bit + office 2019 - 32 bit
qui lo screenshot ottenuto KO!
Screenshot 2022-06-04 11.40.40.jpg
 
Eccomi : windows 10 home 64 bit + office 2019 - 32 bit
qui lo screenshot ottenuto KO!
...e questo è il caso classico di NON funzionamento.


Il "flusso logico" del programma è il seguente:
1) scarico la pagina in HTML (e questo funziona, sempre)
2) assegno il contenuto HTML ad un documento DOM con: doc.body.innerHTML = p
3) leggo il contenuto in formato "puro testo" grazie alla innerText, con: doc.body.innerText (e QUI sorge il problema)
4) estraggo dal testo tutti i dati che mi servono.

N.B.: la struttura DOM e le proprietà citate fanno parte delle librerie standard di sistema su Windows, non sono ovviamente "cose" su cui posso mettere le mani !

Da alcune ricerche fatte in rete, pare che, da fonti ufficiose non confermate, alcuni aggiornamenti di Office applichino una sorta di "aliasing" alla proprietà/funzione di libreria "innerText", reindirizzandola automaticamente verso "textContent" in modo del tutto trasparente all'utente (e, ahimé, al programmatore).

Dal sito Microsoft:
The property textContent is similar to the innerText property, however there are some differences:
textContent returns the text content of all elements, while innerText returns the content of all elements, except for script and style elements.
innerText will not return the text of elements that are hidden with CSS (textContent will).

Pertanto è Microsoft stessa che dice che innerText NON DOVREBBE restituire il codice js ma, dopo determinati aggiornamenti di Office (quali ? ...non lo so ! Ma soprattutto PERCHE' ???) la chiamata a innerText viene "trasformata" in textContent, che restituisce anche il codice JavaScript insieme al contenuto di testo.
Quindi nel momento in cui il programma cerca la semplice stringa "Prezzo Ultimo Contratto " seguita dalle CIFRE del prezzo, in questo caso troverà del codice js che, una volta interpretato come numero, ovviamente darà errore ! :rolleyes:

Ovviamente il tutto agisce a livello di sistema, quindi il singolo programma NON può "risolvere", né bypassare questa cosa.

Soluzione ? Temo NESSUNA :'( , al di là di NON fare gli aggiornamenti di Office, o usare versioni precedenti !
(Io con Office 2010 non ho problemi, né mi scarica aggiornamenti. Il sistema operativo del PC, invece, non sembra essere influente.)

Questo è quanto, allo stato attuale.
 
Potrebbe essere una questione di browser e non di Office.

TextContent non funziona su IE8 e precedenti.
 
nell'ipotesi che il problema non si possa risolvere, quali sono sono secondo voi le funzioni di IceBond che assolutamente non devono mancare in una sua possibile evoluzione?
 
Potrebbe essere una questione di browser e non di Office.

TextContent non funziona su IE8 e precedenti.

Non credo, parecchi utenti mi dicono che ha smesso di funzionare dopo un aggiornamento di Office.
TextContent funziona... anche troppo :rolleyes:, infatti viene invocato AL POSTO di innerText, ed è proprio il risultato di TextContent che viene visualizzato nella schermata precedente di ExGianca53 !
 
Anche io appartengo alla schiera di quelli a cui non funziona, pertanto, nel tempo libero, mi sto arrangiando con Python 3 a tentare di scaricare l'HTML della pagina e ad elaborare di conseguenza i dati, analogamente a quanto ha fatto ExGianca53 con selenium (col mac non sono riuscito a farlo funzionare). Si potrebbe pensare di sostituire la macro che aggiorna i prezzi lanciando lo script Python e successivamente salvare i dati o in un file csv o andando ad aggiornare le celle relative. Ma non si tratta di una procedura banale, ancorché non impossibile da implementare.

Dalle prime prove ho notato che lo scraping (ovvero il processo di estrazione dei dati da una pagina web) dei dati dal sito di borsaitaliana non è proprio immediato. In realtà impiega circa 0,5 sec a pagina, che di per sé non è tanto, ma su decine di pagine comincia ad impiegare diversi secondi (quando il sito non blocca lo scraping sospettando qualche sorta di attacco :eek:). Confermate che pure con IceBond il tempo che si impiega è di quell'ordine di grandezza?
 
nell'ipotesi che il problema non si possa risolvere, quali sono sono secondo voi le funzioni di IceBond che assolutamente non devono mancare in una sua possibile evoluzione?

Ciao,
io partirei dai dati che possono essere scaricati direttamente da Borsa Italiana, ovvero da questi link (vedi sotto) con la complicazione del doppio sito : MOT e EUROTLX

Btpi Tf 0,15% Mg51 Eur quotazioni in tempo reale | IT0005436701 - Borsa Italiana

Dati Finanziari Completi del Btpi Tf 0,15% Mg51 Eur - Borsa Italiana

Poi c'è da tenere in debito conto che Icebond , nel foglio "scheda" fa una elaborazione di alcuni dei dati sopra prelevati e li riporta sul foglio principale . E qui la parola la lascio ai tecnici finanziari. Io, in aggiunta al mio schema (V.), calcolo solo il rendimento annuale con foglio a parte .

Screenshot 2022-06-04 20.48.34.jpg
 
Indietro