Novità

Nuovo script

come prima
pazienza
Ho chiesto a Chatgdp (puoi usarlo anche tu)
excel lanciando un programma appare questo avviso: "Si è verificato un errore: Metodo "Run" dell'oggetto: IWshell3 non riuscito

ChatGPT ha detto:​

L'errore che stai incontrando, "Si è verificato un errore: Metodo 'Run' dell'oggetto: IWshell3 non riuscito", è spesso legato a problemi con la modalità in cui un programma esterno o uno script sta cercando di essere eseguito all'interno di Excel tramite un oggetto WScript.Shell.

Questo errore può presentarsi in diverse situazioni, ma generalmente indica che Excel sta cercando di eseguire un comando tramite il metodo Run dell'oggetto IWshShell (un componente di scripting che permette di eseguire comandi esterni o lanciare applicazioni) e qualcosa non funziona come previsto.

Possibili cause e soluzioni:​

  1. Percorso del file errato o mancante:Se l'oggetto Run sta cercando di avviare un programma o uno script e il percorso del file è errato o il file è mancante, si verificherà un errore.
    • Verifica che il percorso del file o programma che stai cercando di eseguire esista e sia corretto.
    • Assicurati che eventuali variabili di ambiente (se usate) siano configurate correttamente.
  2. Autorizzazioni insufficienti:Se stai tentando di eseguire un programma o uno script che richiede privilegi di amministratore, potrebbe essere necessario eseguire Excel come amministratore per consentire l'esecuzione.
    • Prova a eseguire Excel come amministratore (tasto destro su Excel > "Esegui come amministratore").
  3. Problemi di compatibilità con la versione di Excel o Windows:Se il codice che stai eseguendo è stato scritto per una versione precedente di Excel o Windows, potrebbe non funzionare correttamente.
    • Assicurati che il codice sia compatibile con la versione attuale di Excel e con il sistema operativo.
  4. Impostazioni di sicurezza:Excel potrebbe bloccare l'esecuzione di macro o script che cercano di eseguire programmi esterni.
    • Controlla le impostazioni di sicurezza delle macro in Excel: vai su File > Opzioni > Centro protezione > Impostazioni Centro protezione > Impostazioni macro e verifica se le macro sono abilitate.
    • Se il problema riguarda un codice VBA che lancia un programma esterno, prova a disabilitare temporaneamente le opzioni di protezione (ma fai attenzione a eventuali rischi di sicurezza).







  5. Sintassi del codice VBA:Se l'errore è causato da un errore nel codice VBA che utilizza WScript.Shell, puoi provare a correggere la sintassi o usare una versione alternativa del comando. Ad esempio:

    1732197681101.png
    Problemi con l'oggetto IWshShell:Se l'oggetto WScript.Shell è danneggiato o non è registrato correttamente, potrebbe essere necessario eseguire una riparazione del sistema o registrare nuovamente l'oggetto:
    • Puoi provare a registrare nuovamente WScript.Shell tramite il comando da prompt dei comandi:
    1732197751533.png

    Come procedere:​

    1. Verifica se il problema si verifica con un comando specifico o uno script in particolare.
    2. Controlla il codice VBA per assicurarti che il percorso del programma o dello script sia corretto.
    3. Esegui Excel come amministratore e verifica se l'errore persiste.
    4. Controlla le impostazioni di sicurezza di Excel per assicurarti che le macro e gli script siano abilitati.
    Se il problema persiste, puoi fornire maggiori dettagli sul codice che stai utilizzando, e sarò felice di aiutarti a diagnosticarlo ulteriormente!


    In questo momento la mia testa è su Marte, quindi non sono in grado i interpretare il messaggio di Chatgdp.
    In attesa che la testa torni o che qualcuno ti dia la dritta corretta prova:

    1) Apri il Prompt dei Comandi come Amministratore e digita regsvr32 %indir%\system32\wscript.dll

    2) Prova ad aprire il programma come Amministratore

    3) Ricontrolla che Macro e Script siano abilitati (appena rientro in possesso della testa) se non sai come fare, te lo spiego

    Spero sinceramente che qualcun altro intervenga, per una soluzione in tempi rapidi
    Baciccia senza Testa
 

Eliminati i fogli Futuro e acc. non ricordo, comunque visto che non riuscivo a farli funzionare correttamente mi sono arreso.
Ho però fatto alcune modifiche e aggiunto il foglio AnalisiRuotaP che alla prima prova mi ha dato un piccolo risultato, ricordate che probabilmente è solo un caso, prima di metterci soldi controllate per un po' di estrazioni cosa succede e se e quando avrete conferme provate:

1732204502321.jpeg

Il foglio è qusto:

1732204822522.png

Non riesco a ricordare (toh!) come ho scelto i numeri, mi sembra d'aver scritto su un foglio gli ultimi 5 estratti in verticale e afianco di ognuno i numeri con maggior frequenza e quelli ripetuti due o più volte. 67 e 71 erano i due con la frequenza più alta e gli altri 3 ripetuti più volte. (Forse)

Funziona così: aprite il foglio RuotaP Cliccate su elabora e selezionate la ruota che volete. Quando ha finito (abbiate pazienza) Cliccate su AnalisiRuotaP, ad un certo punto vi chiederà di scegliere come ordinarla, vi sono tre opzioni 1- Secondo la frequenza, e altre due Numero Base e Numero successivo. Terminata l'elaborazione dovrebbe aprire automaticamente il foglio AnalisiRuotaP dove troverete i dati, appare anche la ruota selezionata, l'ultima estrazione, con gli estratti. A mio modo di vedere se seguita per un po' potrebbe dare qualche indicazione. Se avete suggerimenti... suggerite.

In maniera similare funziona VenusP, i passi sono gli stessi ma non la ho ancora controllata o usata. Provate gente, provate.
La fortuna vi accompagni assieme alla sete di giustizia, tolleranza e amore
Baciccia che un po' c'è e spesso non c'è
 
ho provato a fare una previsione su Torino, in base al foglio che ho postato, in base agli ultimi estratti e scegliendo i numeri che avevano una maggior frequenza e/o una alta relazione reciproca, usciva questo:

1732219495606.png

Il 3 indicava come più probabile il 15 che però era uscito contestualmente al 3, quindi non era da considerare (in questo caso)
Il 15 indicava il 3 stesso ragionamento.
Il 41 (e anche il 44) indicava il 35, da prendere in considerazione
Il 44 indicava (come il 41) il 35 e il 43-44 (il 44 era uscito quindi si esclude)
84 indicava 88

Quindi la previsione era 35.38.43.78.88 su Torino. Si poteva giocare 1,25 euro ambo, 50 cent. terno, 20 cent quaterna, 5 cent cinquina, 1 euro ambetto (come la schedina che avevo postato)
Quello che volevo giocare, poi quando sono uscito, solo per giocare al lotto, sono andato a comprare cose che non mi servivano all'Ipercoop, dimenticando di giocare. Va beh!
Ecco cosa è uscito a Torino:
sono usciti 1 ambo 38.43 e (se non sbaglio) due ambetti 38.77 e 43.77
Torino3843773342
 
Savona
Ascolta perché è un po complesso, non capire, ma spiegare.
Nel foglio Archivio troverai un nuovo pulsante chiamato "Aggiorna Archivio Ken". Che bello! Dirai. Aspetta :devilish:
Direttamente dall'Ufficio Complicazioni Affari Semplici:

1) scarica questo file:


Ti apparirà una finestra col file da scaricare, scegli di scaricarlo nello stesso posto dove hai il programma Excel
Estrai il file e rinominalo come: storico_locale.txt (deve essere nella stessa Cartella del file Excel)

2) Apri il file del lotto, vai sul foglio Archivio e clicca su "Aggiorna Archivio Ken", se non hai fatto errori e se ci sono estrazioni da aggiungere verranno aggiunte. Nel caso non vi fossero estrazioni da aggiungere una finestra ti dirà: BuuuH! Per spaventarti. No. In realtà farà solo presente che non vi sono nuove estrazioni.

Un po' macchinoso ma l'ho provato con altre versioni di Excel e funziona.

Fino a che qualcun altro darà una soluzione migliore.
Buon non Onomastico
Bacicciuk
 
ho provato a fare una previsione su Torino, in base al foglio che ho postato, in base agli ultimi estratti e scegliendo i numeri che avevano una maggior frequenza e/o una alta relazione reciproca, usciva questo:

Vedi l'allegato 2293464

Il 3 indicava come più probabile il 15 che però era uscito contestualmente al 3, quindi non era da considerare (in questo caso)
Il 15 indicava il 3 stesso ragionamento.
Il 41 (e anche il 44) indicava il 35, da prendere in considerazione
Il 44 indicava (come il 41) il 35 e il 43-44 (il 44 era uscito quindi si esclude)
84 indicava 88

Quindi la previsione era 35.38.43.78.88 su Torino. Si poteva giocare 1,25 euro ambo, 50 cent. terno, 20 cent quaterna, 5 cent cinquina, 1 euro ambetto (come la schedina che avevo postato)
Quello che volevo giocare, poi quando sono uscito, solo per giocare al lotto, sono andato a comprare cose che non mi servivano all'Ipercoop, dimenticando di giocare. Va beh!
Ecco cosa è uscito a Torino:
sono usciti 1 ambo 38.43 e (se non sbaglio) due ambetti 38.77 e 43.77
Torino3843773342
Baciccia a che foglio fai riferimento puoi ripostarlo?.grazie
 
Fatto , stasera lo provo 🤞
A Savona ci sono stato 20 anni fà x imbarcarmi sulla costacrociera x il viaggio di nozze praticamente ho visto la stazione e il porto
 
Buongiorno devo informarti che ancora non funziona , credo che ho preso la maledizione dell'archivio :ROFLMAO::ROFLMAO:Immagine 2024-11-24 100511.pngImmagine 2024-11-24 100556.png
 
Buongiorno devo informarti che ancora non funziona , credo che ho preso la maledizione dell'archivio :ROFLMAO::ROFLMAO:Vedi l'allegato 2293606Vedi l'allegato 2293607
No. Nessuna Maledizione. Devi fare così: crea la cartella "MaledettoArchivioOTiAggiorniOtiSpacco" o come preferisce nominarla, copiaci dentro il file Excel e il file storico_locale.txt (seguendo la procedura: scarichi l'archivio dal link che ti ho messo, estrai il file e lo rinomini storico_locale.txt). Se tutto è fatto correttamente vedrai che funziona. L'avviso che ti è apparso mi fa sospettare che 1) i file si trovino in cartelle diverse oppure 2) non hai rinominato in maniera corretta il file. A volte, lo so per esperienza, si fanno errori banali tipo rinominare col segno - al posto del segno _ e cose del genere. La macro funziona, altrimenti non ti sarebbe apparso il messaggio d'errore.
Ti allego il file txt correttamente nomato.
Prima di provare recita:
Uocchi, contruocchi, scatta maluocchio;
uocchi, contruocchi, crepa maluocchio.
Invoca Totò, De Filippo e Ave Ninchi
e ricorda: Sorridi... Domani sarà peggio.

Baciccia Portafortuna
 

Allegati

  • Like
Reazioni: KEN
Baciccia buona Domenica, puoi far visualizzare nella textbox l'ultima data presente nell'archivio storico_locale.txt, il vba lo sto imparando leggendo il tuo foglio ma moltissime cose sono ancora incomprensibili per me. Ti ringrazio in anticipo.
 
Baciccia buona Domenica, puoi far visualizzare nella textbox l'ultima data presente nell'archivio storico_locale.txt, il vba lo sto imparando leggendo il tuo foglio ma moltissime cose sono ancora incomprensibili per me. Ti ringrazio in anticipo.
Quindi qualcosa hai Capito! Beato te! Io non ci capisco una mazza. Per me il VBA significava "VogliamociBeneAmore", tanto che a mia moglie dicevo sempre VBA, VBA, VBA. e lei gentilmente rispondeva FC, mah! Le donne!. Guardo quelle strane cose che si susseguono nelle Macro e che per magia fanno apparire cose che a volte capisco anche meno.
Comunque, credimi, ci ho provato: mi sono concentrato e, a occhi chiusi, per assorbire energia dall'Universo, ho pensato APPARI! APPARI!!
Ma non è apparso niente :mad:. Si vede che il mio Angelo Custode è in ferie, oppure l'ultimo FC lo ha offeso? :unsure:

La risposta dell'AI:

Sub LeggiUltimaData()
Dim filePath As String
Dim ultimaRiga As String
Dim ultimaData As String

' Apri la finestra di dialogo per selezionare il file
filePath = Application.GetOpenFilename("File di testo (*.txt), *.txt")

' Verifica che un file sia stato selezionato
If filePath = "False" Then
MsgBox "Nessun file selezionato", vbExclamation
Exit Sub
End If

' Apri il file e leggi l'ultima riga
Open filePath For Input As #1
Do While Not EOF(1)
Line Input #1, ultimaRiga
Loop
Close #1

' Estrai la data dalla prima parte della riga (prima del tab)
ultimaData = Left(ultimaRiga, 10)

' Assumendo che tu abbia già una TextBox chiamata TextBox1
Me.TextBox1.Value = ultimaData
End Sub

Da adattare alla tua situazione. Io ci ho provato. L'uovo era fritto alla perfezione :rolleyes: .

è l'occasione giusta per diventare esperto nullasapiente come me. Apri Chatgdp su internet e rivolgile la stessa domanda, scoprirai un mondo
e diventerai come me un nientologo che fa programmi.
Poi qualcuno ti chiederà: ...puoi far visualizzare nella textbox l'ultima data presente nell'archivio ...
e così scopriranno quanto nulla ne sai...

Baciccia il Nientologo
 
Sembra che vada adesso con il nuovo txt che hai messo mi dice nessuna nuova estrazione da aggiungere ma strano che quella di ieri sera non sia ancora disponibile.
 
Baciccia sei simpaticissimo, grazie. Esequendo la macro di aggiorna archivio mi dà errore a : Me.TextBox1.Value = ultimaData.
Io la ho incollata qui dimmi se è nel poto giusto.
Sub AggiornaArchivioLocale()
Dim wsArchivio As Worksheet, wsAppoggio As Worksheet
Dim lastRowArchivio As Long
Dim currentRow As Long, startRow As Long
Dim i As Long
Dim numeri(4) As Integer
Dim ultimaDataArchivio As Date
Dim fso As Object, ts As Object
Dim fileContent As String, arrLines() As String
Dim dataEstrazione As Date
Dim currentDate As Date
Dim ruota As String
Dim continueProcessing As Boolean

' Disabilita aggiornamento schermo e calcoli automatici per migliorare la velocità
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual

' Imposta i fogli di lavoro
Set wsArchivio = ThisWorkbook.Sheets("Archivio")

' Controlla se esiste il foglio Appoggio, se non esiste lo crea
On Error Resume Next
Set wsAppoggio = ThisWorkbook.Sheets("Appoggio")
If wsAppoggio Is Nothing Then
ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.count)).name = "Appoggio"
Set wsAppoggio = ThisWorkbook.Sheets("Appoggio")
End If
On Error GoTo 0

' Ottieni l'ultima data dall'archivio, assume che la data sia nella colonna C
lastRowArchivio = wsArchivio.Cells(wsArchivio.Rows.count, 3).End(xlUp).row
If lastRowArchivio > 1 Then
ultimaDataArchivio = wsArchivio.Cells(lastRowArchivio, 3).Value
End If

' Leggi il file di testo locale
On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile(ThisWorkbook.Path & "\storico_locale.txt", 1)
If Err.Number <> 0 Then
MsgBox "File di testo locale non trovato. Assicurati che il file 'storico_locale.txt' si trovi nella stessa cartella del file Excel.", vbCritical
GoTo CleanUp
End If
On Error GoTo 0

fileContent = ts.ReadAll
ts.Close

' Dividi il contenuto in righe
fileContent = Replace(fileContent, vbCrLf, vbLf)
arrLines = Split(fileContent, vbLf)

' Inizializza variabili
currentRow = 0
continueProcessing = True
currentDate = 0

' Pulisci il foglio Appoggio
wsAppoggio.Cells.Clear

' Processa le righe dal basso verso l'alto
For i = UBound(arrLines) To 0 Step -1
If Trim(arrLines(i)) <> "" Then
' Estrai la data e converti in formato data
dataEstrazione = DateSerial(left(arrLines(i), 4), Mid(arrLines(i), 6, 2), right(left(arrLines(i), 10), 2))

' Controlla se abbiamo raggiunto l'ultima data dell'archivio
If dataEstrazione <= ultimaDataArchivio Then
continueProcessing = False
Exit For
End If

' Se è una nuova data, crea una nuova riga
If currentDate <> dataEstrazione Then
currentRow = currentRow + 1
currentDate = dataEstrazione
wsAppoggio.Cells(currentRow, 3).NumberFormat = "dd/mm/yyyy"
wsAppoggio.Cells(currentRow, 3).Value = dataEstrazione
End If

' Estrai ruota e numeri
Dim parts() As String
parts = Split(Mid(arrLines(i), 12), vbTab)
ruota = parts(0)

' Copia i numeri nell'array come valori numerici
For j = 0 To 4
numeri(j) = val(parts(j + 1))
Next j

' Posiziona i numeri in base alla ruota
Select Case ruota
Case "BA"
wsAppoggio.Cells(currentRow, 4).Resize(1, 5).Value = numeri
Case "CA"
wsAppoggio.Cells(currentRow, 9).Resize(1, 5).Value = numeri
Case "FI"
wsAppoggio.Cells(currentRow, 14).Resize(1, 5).Value = numeri
Case "GE"
wsAppoggio.Cells(currentRow, 19).Resize(1, 5).Value = numeri
Case "MI"
wsAppoggio.Cells(currentRow, 24).Resize(1, 5).Value = numeri
Case "NA"
wsAppoggio.Cells(currentRow, 29).Resize(1, 5).Value = numeri
Case "PA"
wsAppoggio.Cells(currentRow, 34).Resize(1, 5).Value = numeri
Case "RM"
wsAppoggio.Cells(currentRow, 39).Resize(1, 5).Value = numeri
Case "TO"
wsAppoggio.Cells(currentRow, 44).Resize(1, 5).Value = numeri
Case "VE"
wsAppoggio.Cells(currentRow, 49).Resize(1, 5).Value = numeri
Case "RN" ' Ruota Nazionale
wsAppoggio.Cells(currentRow, 54).Resize(1, 5).Value = numeri
End Select
End If
Next i

' Ordina il foglio Appoggio per data crescente
If currentRow > 0 Then
With wsAppoggio.Sort
.SortFields.Clear
.SortFields.Add key:=wsAppoggio.Range("C1:C" & currentRow), Order:=xlAscending
.SetRange wsAppoggio.Range("C1:BF" & currentRow)
.Header = xlNo
.Apply
End With

' Copia in Archivio e aggiunge numerazione progressiva
lastRowArchivio = wsArchivio.Cells(wsArchivio.Rows.count, 3).End(xlUp).row
wsAppoggio.Range("C1:BF" & currentRow).Copy
wsArchivio.Cells(lastRowArchivio + 1, 3).PasteSpecial xlPasteValuesAndNumberFormats

' Converti i numeri da testo a valore
Dim rngNew As Range
Set rngNew = wsArchivio.Range(wsArchivio.Cells(lastRowArchivio + 1, 4), _
wsArchivio.Cells(lastRowArchivio + currentRow, wsArchivio.Columns.count))
rngNew.Value = rngNew.Value

' Ottieni l'ultimo valore nella colonna A
Dim lastValue As Long
lastValue = wsArchivio.Cells(wsArchivio.Rows.count, 1).End(xlUp).Value

' Aggiungi i numeri progressivi nella colonna A
startRow = lastRowArchivio + 1
For i = 1 To currentRow
wsArchivio.Cells(startRow + i - 1, 1).Value = lastValue + i
Next i
End If

CleanUp:
' Ripristina impostazioni
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

If currentRow > 0 Then
MsgBox "Aggiornamento completato. Aggiunte " & currentRow & " nuove estrazioni."
Else
MsgBox "Nessuna nuova estrazione da aggiungere."
End If

End Sub


Sub LeggiUltimaData()
Dim filePath As String
Dim ultimaRiga As String
Dim ultimaData As String

' Apri la finestra di dialogo per selezionare il file
filePath = Application.GetOpenFilename("File di testo (*.txt), *.txt")

' Verifica che un file sia stato selezionato
If filePath = "False" Then
MsgBox "Nessun file selezionato", vbExclamation
Exit Sub
End If

' Apri il file e leggi l'ultima riga
Open filePath For Input As #1
Do While Not EOF(1)
Line Input #1, ultimaRiga
Loop
Close #1

' Estrai la data dalla prima parte della riga (prima del tab)
ultimaData = left(ultimaRiga, 10)

' Assumendo che tu abbia già una TextBox chiamata TextBox1
Me.TextBox1.Value = ultimaData
End Sub
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 23 novembre 2024
    Bari
    33
    80
    86
    52
    25
    Cagliari
    67
    57
    59
    05
    80
    Firenze
    31
    32
    58
    88
    77
    Genova
    40
    39
    23
    36
    81
    Milano
    28
    58
    45
    25
    38
    Napoli
    20
    82
    23
    44
    57
    Palermo
    76
    56
    88
    62
    31
    Roma
    12
    81
    59
    74
    72
    Torino
    46
    53
    72
    45
    23
    Venezia
    04
    12
    42
    64
    20
    Nazionale
    63
    44
    78
    10
    55
    Estrazione Simbolotto
    Torino
    43
    42
    12
    39
    22

Ultimi Messaggi

Indietro
Alto