Novità

come...

....esportare l'output di uno script in excel? anticipatamente ringrazio

Ciao Omonimo.

Tra i file di esempio di Spaziometria trovi alcuni esempi di come si può operare.

In questo avevo provato, a lasciare solo l'essenziale ... necessario per avere il succo delle estrazioni.

Codice:
Sub Main
	
	' questo esempio esporta in excel il range di estrazioni selezionato

''	Dim xlApp ' oggetto excel
''	Dim idEstr,r,e,i,riga
''	Dim Inizio,Fine,nEstrTot
''	Dim nColor
''	Dim sCoord
	Inizio = EstrazioneFin-9
	Fine = EstrazioneFin
	nEstrTot =(Fine + 1) - Inizio
	If XlsApriFile(xlApp) Then ' istanzia excel
''		Call ScriviIntestazioneColonne ' scrive le intestazioni delle colonne
		' ciclo per alimentare il foglio
''		riga = 1
		For idEstr = Inizio To Fine ' cicla sulle estrazioni
			riga = riga + 1 ' incrementa la riga dove andra a scrivere
			i = 1
			nColor = vbWhite ' preimposta il colore della colonna
			' scrive la prima colonna con la data
			Call XlsScriviC(riga,i,DataEstrazione(idEstr))'GetInfoEstrazione(idEstr))
			' cicla sulle ruote dell'estrazione
			For r = 1 To 12
				If r <> 11 Then
''					' ad ogni cambio ruota inverte il colore della colonna
''					If nColor = vbCyan Then
''						nColor = vbWhite
''					Else
''						nColor = vbCyan
''					End If
					' ciclo per scrivere i numeri dell'estrazione
					For e = 1 To 5
						i = i + 1
''						sCoord = XlsGetLetteraFromColonna(i) & riga ' calcola la coordnata della cella dove scrivere
						Call XlsScrivi((XlsGetLetteraFromColonna(i) & riga),Estratto(idEstr,r,e))',,,,,nColor)
					Next
				End If
			Next
			Call AvanzamentoElab(Inizio,Fine,idEstr)
			If ScriptInterrotto Then Exit For
		Next
		Call XlsAutoFit("A1:" & XlsGetLetteraFromColonna(56) & nEstrTot) ' esegue la funzione di adattamento delle colonne
		Call XlsMostra ' mostra excel all'utente
	End If
End Sub

:) Buona Serata.

PS: Sei pure, della stessa leva.
 
ciao Joe e grazie per l'attenzione e disponibilità, ma in effetti, forse mi sono espresso male, non è questo che cercavo.Mi spiego....quando eseguo uno script, mi interessa esportare in excel l'output che mi elabora. ancora grazie comunque
 
Ciao,

immaginavo che la mia risposta fosse errata.

In effetti senza, la prova, era solo ... una ipotesi.

Quindi, non vuoi uno script specifico per scrivere in excel

ma "portare", in excel l'output di uno script generico.

Dovresti copiare, ciò che ti interessa, dell' output, e poi incollarlo in excel.

Eventualmente, potrebbe servirti una "macro"

per ripulire i dati, fino ad ottenere la tebella che ti è utile.

Sono molti anni che non uso le macro e non ti posso aiutare.

Ma sono certo che qualcuno potrà farlo.

Buona giornata.
 
Ultima modifica:
Ciao.



Dovresti copiare ciò che ti interessa dell' output

ed incollarlo in excel.

Poi evemtuslmente potrebbe servirti ina macro

per ripulire i dati fino ad ottenere ina tebella... utile.

Io lo faccio senza macro,è un po lungo ma ottengo quanto mi interessa!!
Segui quanto detto da Joe... una volta che hai i dati su excel ti accorgi che ogni riga è una stringa formata da dati più disparati alfanumerici che noterai si sono piazzati tutti sulla colonna A, che immagino sia bella larga..... a quel punto mettiti sulla colonna B e lavora con "Stringa Estrai" per estrapolare quello che ti interessa che può essere una stringa o un dato numerico per quest'ultimo dato stai attento perchèlo dovrai trasformare in numerico con un altra colonna appoggio moltiplicando il dato x 1.
Fai un poco di prove e vedrai che ci riesci
 
Ciao filotto,

da buon collezionista vedo che hai tempo e pazienza. Bravo.

La macro è utile perchè "registra e memorizza" tutte le operazioni che tu compi.

Dopodiche ... una volta ben sistemata, permetterà di ripeterle tutte in sequenza.

Eleminando tutto il "noioso" della operazione e soprattutto gli errori ... umani,

in un batter di ciglio appena essa viene "lanciata".

:)
 
Ops ...

... Mi viene in mente "ScriviResocontoXls".

Quasi-quasi sarebbe più facile per qualcuno ... che per il sottoscritto ... la macro.

Chissa !?!?!

:)
 
Ops ...

... Mi viene in mente "ScriviResocontoXls".

Quasi-quasi sarebbe più facile per qualcuno ... che per il sottoscritto ... la macro.

Chissa !?!?!

:)
eh, eh .. anche io avevo pensato a uno forte........ chi meglio di Lui ?!
in effetti l'idea mi è venuta quando Lui ha messo uno script che dava tutti i 4005 ambi con a fianco tutti i relativi 4 ambetti derivati ,relativamente ad una ruota
a me c'ha messo na vita più di venti minuti , così ho preso uno script sempre del nostro che mi dava i 4005 ambi con i ritardi e le fequenze, questo al contrario del primo è molto veloce l'ho modificato in modo che l'output fosse il + scarno possibile e l'ho lavorato come ho detto sopra ..risultato una grossa duttilità che solo excel può dare con un tempo almeno per le prove successive di un paio di minuti ,ora dico se na mezza tacca come me è riuscito a.... figurati il nostro che può fare !!!! Ora è Natale hai visto mai?? ma chi glielo dice? i passaggi sono 3 prima lanciare lo script qui sotto
Codice:
'lo script opera sul range impostato nel programma
'la ruota viene chiesta all'utente durante l'elaborazione
'mostra la statistica decrescente per ritardo

Sub Main
'situazione del ritardo di ogni ambo di una certa ruota a RICHIESTA
	Dim k
	'È possibile utilizzare l'istruzione ReDim per modificare la dimensione di uno o più dimensioni
	' di una matrice che è già stata dichiarata.Se si dispone di una matrice di grandi dimensioni'
	' e non si necessita più di alcuni dei suoi elementi, ReDim può liberare un po' di memoria riducendo
	' le dimensioni della matrice.Dall'altra parte invece, se il codice determina che una matrice necessita
	' di più elementi, ReDim sarà in grado di aggiungerli.

'Vedi AMBETTO
	ReDim aValori(4005,1)
	Dim n1,n2
	Dim Ruota,Rit,RitMax',PrAmbetto,RitPrA
	
	
	Ruota = InputBox("Scegli la ruota da analizzare...",,1)

	ord = InputBox("Ambo in ordine di Ritardo = 1 °°° Ambi in ordine Naturale = 2...",,1)
	If Ruota > 0 Then
		Call Messaggio("Statistica ambi")
		For n1 = 1 To 89
			For n2 = n1 + 1 To 90
				k = k + 1
				'PrAmbetto = Format2(n1) & " - " & Format2(Fuori90((n2) + 1))
				

				Call StatAmbo(Ruota,n1,n2,Rit,RitMax,0,0,EstrazioneIni,EstrazioneFin)
		 		aValori(k,1) = Rit
		'RitPrA = Rit

		 		aValori(k,0) = Format2(n1) & " - " & Format2(n2) & _
		 		 Space(4) & FormatSpace(Rit,6,True) & _
		 		 Space(4) & FormatSpace(RitMax,6,True) '& Space(4) & FormatSpace(PrAmbetto,6,True) & Space(4) & FormatSpace(RitPrA,6,True)

		
		
		 		 If ScriptInterrotto Then Exit For
		 		
		 	Next
		 	If ScriptInterrotto Then Exit For

		 	Call AvanzamentoElab(1,89,n1)
		Next
		Call Messaggio("Ordinamento")
	
		Call OrdinaMatrice(aValori,- 1,ord)
		
		Call Messaggio("Scrivo output")
	
		Call Scrivi(NomeRuota(Ruota))
		Call Scrivi("Range da " & GetInfoEstrazione(EstrazioneIni) & " fino a " & GetInfoEstrazione(EstrazioneFin))
		Call Scrivi(" AMBO " & Space(2) & FormatSpace("Rit",9,True))
	
			For k = 1 To 4005
			Call Scrivi(aValori(k,0))
			If ScriptInterrotto Then Exit For
		Next
	End If
	

	
End Sub

fase 2: copiare l'output (qui rappresentato solo 58 ambi dei 4005 per ragioni di spazio eper un'alta ragione......)
Codice:
Range da [00001] [ 1 ] 08.01.1871 fino a [08776] [144] 30.11.2013
 AMBO         Rit
01 - 02       209      1669
01 - 03       242      2082
01 - 04       384       816
01 - 05        44      2492
01 - 06       362      1076
01 - 07        71      1958
01 - 08       268      1113
01 - 09        29      1754
01 - 10       257      1603
01 - 11        51      1620
01 - 12      1157      1157
01 - 13       268       978
01 - 14       557      1521
01 - 15       277      1411
01 - 16       177      1560
01 - 17       938      1178
01 - 18       242      1264
01 - 19       396       922
01 - 20        71      2980
01 - 21       663      1034
01 - 22       926      1106
01 - 23       177      1812
01 - 24       551      1735
01 - 25         7      1219
01 - 26       277      2292
01 - 27       396      2044
01 - 28        70      1775
01 - 29        90       818
01 - 30       759      1236
01 - 31       350      1668
01 - 32       257      1598
01 - 33       277      1186
01 - 34       180      1222
01 - 35      1100      1100
01 - 36        70      1394
01 - 37       403      2000
01 - 38       350      1204
01 - 39       277      2287
01 - 40        51      1314
01 - 41      1157      1345
01 - 42      1055      1055
01 - 43        51      1832
01 - 44       403      2332
01 - 45       759      1762
01 - 46       436      1048
01 - 47        71      1762
01 - 48       497      1214
01 - 49       926      1229
01 - 50       592      1561
01 - 51       257      1350
01 - 52        29      1610
01 - 53       615      1628
01 - 54        70      1076
01 - 55       663      1043
01 - 56        25      2088
01 - 57       503      1830
01 - 58        25      1868

3 trasposizione su EXCEL
Codice:
Range da [00001] [ 1 ] 08.01.1871 fino a [08776] [144] 30.11.2013	Bari					
 AMBO         Rit	                ambo1	ambo2	ritar	ambo1  ambo2	 ritar




ora l'ambo 1 e 57  giocandolo x ambetto avremo 4 ambi con in grassetto il relativo ritardo, così:
1	58	[B]25[/B]	1	56	[B]25[/B]	2	57	[B]363[/B]	90	57	[B]444[/B]
mentre per 1 e 58 avremo:
1	59	[B]1247[/B]1	57	[B]503[/B]	2	58	[B]363[/B]	90	58	[B]1566[/B]

ora ordinandolo in un certo modo si noterà che gli ambi 2 e 58 e 2 e 57 hanno lo stesso ritardo mentre 1 e 58 e 1 e 56 anche stesso ritardo quindi giocando (x ambetto)  i num 1 58 e 59 su bari avremo un modo come un altro  di giocare con un certo criterio logico( per quello che x noi intendiamo logico sic!) l'ambetto . esito primo colpo il 3/12 : 57-59
 
ciao , pure creassi una funzione ScriviResocontoXls nel resoconto ci sarebbero gli setessi dati che scriverebbe il resoconto nel normale output
quindi all'atto pratico non è che servirebbe a granche ...cioè saprei che i casi giocabili sono X quell vincenti Y e tutti gli altri dati.
Se c'è necessita di esportare l'ouput di uno script in excel le cose da fare sono 3
1) Creare un output idoneo per essere poi importato , quindi righe con dati a spaziatuta fissa o con carattere di separazione
2) Ottenuto l'output premere il pulsantino che lo esporta in file txt
3) Aprire excel ed usare la funzione carica dati esterni (selezionando il file del punto 2)

ovviamente l'alternativa ortodossa è scrivere direttamente in excel sia con le previste funzioni degli script
sia attraverso il normale modelllo di ogett esposto da excel e utilizzabile da vbscript.
C'è un esempio pure di quello tra i code snippets (il pulsante con la stellina nella finestra degli script)

ciao


P.S.
l'output mostrato da filotto sembrerebeb a spaziatura fissa quindi una volta salvato in txt
importarlo in excel con tutti i dati nelle loro celle è molto semplice
 
Ultima modifica di un moderatore:
Ciao Luigi.

Con L8, se può essere utile come indicazione, il Chr(9) inserito nello script ...

separa le varie parti della linea a video ... che, copiate ed incollate in xls vanno ad occupare altrettante celle.

L'output di spaziometria non contiene questo Extra-Chr(9).

Quindi il passaggio dei dati ad excel, da questo ambiente, è un pochino più laborioso. Come hai ben descritto.

La (o le) macro ... cui accennavo, naturalmene, sarebbero maggiormente utili,

solo nell'ulteriore formatazione dei dati nei passaggi successivi.

:) Cordiali saluti a tutte/i.
 
il caratter chr(9) non è niente altro che vbTab ...

Scrivi "ciao" & vbTab & "joe"

Si esatto.

Nell'output di L8 rimane "inattivo" come fosse un carattere speciale ... che non ha ancora esplicitato,tutta la sua funzione.

Essa,viene "completata" quando l'output dapprima copiato (contiene questo carattere speciale)

e quando viene incollato in excel, fa si che i valori "Ciao" & "Joe"

vadano direttamente ad occupare due celle consecutive della stessa linea. Nel caso (a1 & b1)

Mentre il vbTab in Spaziometria, si esplicita "tutto" sia a video che nell'output. Si trasforma in tanti in spazi senza rimanere il vbTab che era.

Esso, non viene dunque "copiato" (come vbTab ma come "spazi") perdendo questa sua utile caretteristica.

:)
 
Ultima modifica:
no il tab è una spaziatura è giusto cosi -- è la tabulazione delle vecchi emacchine da scrivere ..
ad ogni modo con la funzione carica dati esterni di excel si puo impostare un carattere a scelta come delimitatore
 
Ultima modifica di un moderatore:
no il tab è una spaziatura è giusto cosi -- è la tabulazione delle vecchi emacchine da scrivere ..
ad ogni modo con la funzione carica dati esterni di excel si puo impostare un carattere a scelta come delimitatore

Ciao Luigi.

Giusto è giusto ... ci mancherebbe che non lo fosse!

E' però un poco diverso dallo standard dei "pacchetti" applicativi.

Per esempio se in Word scrivi:

A [tab] B [tab] C [tab] D [tab] E [tab] F

poi ... evidenzi e copi la linea di lettere così incolonnata (dai [Tab]) con "Control+C"

e poi ancora, la incolli in Excel, con il classico complementare "Control+V" ...

puoi notare, o almeno così ho imparato nel tempo, che le 6 lettere A B C D E F,

andranno ad occupare altrettante colonne dalla "A" alla "F".

Cioè è indubbiamente più pratico utilizzare "il clipboard", al far transitare i dati, archiviandoli e leggendoli, dal disco.

Ma, non insisto oltre, non essendo poi così importante questa cosa.

Ritenengo inoltre, io, che per un lottologo, sia meglio ... "stare" quanto più possibile in Spaziometria,

che è "più semplice" ed è "più dedicata", al lotto, di quanto non siano e possono essere i "pacchetti" universalmente generici.

Naturalmente, sono, solo, le modeste opinioni personali di uno che è ha cominciato ad interessarsi di lotto,

"ri-pulendo" le estrazioni ricavate dal testo, del Televideo, con le macro di Excel,

quando ancora, non c'erano programmi dedicati ... e neppure Internet.

Fantascienza Preistorica.

:) Buona Giornata a tutte/i.
 
certo joe , tu sai come la penso tuttavia se dovessi dare un consiglio ad un lottologo gli direi che l'ideale per lui sia quello di estendere la sua competenza anche in altre aree come appunto l'informatica grazie alla passione per il lotto.
Padroneggiando tutti gli strumenti ed essendo disposti ad evolversi non solo si potranno attuare tutte le proprie idee ma indirettamente si impara davvero quacosa di concreto e di utile in altri ambiti.
tornando al punto una funzione generica che trasporti l'output in excel non è fattibile o almeno lo è solo se l'esportazione riguarda i dati previsti dall'output , se invece in output ci va a finire una riga formattata a piacere dallo scripter con che criterio io la potrei esportare dividendo i valori nelle celle di una riga ?
Se uno pero scrive un output usando il tab è vero che vede una spaziatura ma facendo copi incolla dovrebbe ndare bene in excel... non ho provato ma penso che il comportamento sia quello.
In alternativa basterebbe che invece di usare l'istruzione Scrivi , si usi l'istruzione ScriviFile , dando estensione .csv al file in output e avendo cura di usare il ; come carattere separatore.
Al termine dello script usare la Funzione LanciaFile sul file appena creato si aprira excel.

ciao
 
Ciao Luigi, buona sera a tutti.

Mi trovi in totale accordo ed anche tu, sai, che utilizzo il Pc ... per gioco, costruttivo,

oltre all'ormai necessario quotidiano.

Rimango nello specifico di quanto detto ... "almeno lo è solo se l'esportazione riguarda i dati previsti dall'output"

Naturalmente si.

"usando il tab è vero che vede una spaziatura ma facendo copia-incolla dovrebbe andare bene in excel..."

Nel "dovrebbe" c'è la differenza di comportamento di cui si discuteva.

Ma ribadisco ... e concordo con te, è un non-problema.

:)

PS: Proverò anche le procedure che hai descritto, e per le quali, ti ringrazio di averle ricordate.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 31 gennaio 2025
    Bari
    49
    28
    64
    42
    46
    Cagliari
    53
    76
    89
    26
    13
    Firenze
    38
    51
    15
    50
    56
    Genova
    87
    09
    35
    30
    04
    Milano
    53
    25
    23
    09
    37
    Napoli
    01
    65
    38
    06
    15
    Palermo
    05
    07
    10
    26
    58
    Roma
    32
    31
    09
    46
    80
    Torino
    68
    20
    44
    51
    11
    Venezia
    90
    24
    62
    54
    61
    Nazionale
    20
    79
    07
    45
    60
    Estrazione Simbolotto
    Bari
    45
    37
    01
    41
    17
Indietro
Alto