giovedì 29 marzo 2012

.BAStonate sui tasti

Squilla il telefono.

Guardo, è CollegaFolle ( CF ).
Bravissima ragazza, competente oltre ogni dire, ma con i neuroni stressati dalla velocità.
Lei fa, parla e agisce col turbo attivato.
Prevedo un attacco entro due anni.
E purtroppo non è una cima informatica. Anzi, ne sa quanto una cima.

CF: " Ciao V, ho un problema con la tua macro "
V: " Non è una macro. E' una serie di procedure in VBA, richiamate da un semplice tastino nel menu perché non riesci a ricordare una combo di tre tasti. Ed esegue in tre minuti un lavoro che ti prendeva due ore. "
CF: " Eh si, la macro. Non va. "
VB: " Macro di tua sorella! "
V: " ... Che errore ti da? "
CF: " Si chiude Excel e chiede di mandare un messaggio a Microsoft"
V: " Er... Strano. Da quando te lo fa? "
CF: " Da stamattina "
V: " Hai riavviato il PC? "
CF: " No perché ho già aperto dodicimila cose "
V: " Ed ora le richiudi e riavvii. Riprova e chiamami se hai problemi. "

Lei mugugna a lungo, anche perché il suo PC non è esattamente un fulmine ad avviarsi.
Venti minuti dopo ritrilla il telefono. CF.

CF: " Va ancora in crash! "
V: " No buono. Fammi accedere. "
Entro in remoto, chiudo Excel, lo riapro, lancio la main procedure.
Smandruppa tutti i vari files per un po' di minuti, poi crash brutale.
Uhm. Rifacciamo.
Riavvio e seguo le sub una per volta.
Arrivo a quella che era andata in errore, eseguo riga per riga e si suicida su un banalissimo workbook.SaveAs $nome
V: " Non può essere. Quello è basilare, il problema non è il mio codice ".
Altro test, altra morte. Tempo di riavviare e seguire dall'inizio.

Il PC riparte, CF mi avvisa per telefono ed entro.
Tutto nuovo & pulito (a parte il bazilione di icone sul desktop ), rilancio tutto come prima cosa: crash nello stesso punto dove NON può sbagliare.
Verifico tutto: il path esiste? Si.
Il nome del file è valido? Si.
Esiste già? No.
Cthulhu evocato? Abbondantemente.

Mentre penso a quanto impiegherei a tornare a casa a prendere il gallo nero, mi sovviene che un problema simile l'avevo avuto anni prima ed avevo speso due giorni a risolverlo.
In pratica, il modulo .bas [ che è un banale file di testo con un po' di cose nascoste ] sembra funzionare correttamente e fa " si si " con la testolina, ma in realtà è corrotto.
E quando si arriva al punto incriminato, lui da di matto.
Se notate una clamorosa somiglianza col modo di fare del Mac, beh, avete fatto centro.

Qualche doppioclick dopo tutto funziona a meraviglia.
V: " Risolto e guarito "
CF: " Tutto questo tempo per una macro? "
V: " NONE'UNAMACRO! NONE'UNAMACRO! NONE'UNAMACRO! NONE'UNAMACRO! "
CF: " Si vabbé. Almeno gli metti un'altra icona? "

Ma io quanti ne ho ammazzati nella mia vita precedente?
Di certo, non abbastanza. Dovrò impegnarmi di più stavolta.

8 commenti:

  1. Per mia fortuna non ho mai subito sfighe simili. Però ricordo che, nelle vecchie versioni di office, ogni tanto, in puro modo randomico, il file normal.dot decideva di corrompersi impataccando la vita, l'universo e tutto quanto.

    Ma almeno la tizia ha una minima idea di cosa sia una macro o usa il termine perché le piace?

    RispondiElimina
    Risposte
    1. Qui è tutto molto semplificato.
      Funziona da solo = " Automatismo "
      Funziona da solo in ambiente Office = " Macro "
      Poi hai voglia davvero a spiegargli che una macro ripete quello che hai fatto mentre una procedura no - per loro sub, funzioni, variabili eccetera sono oggetti inconcepibili.
      Ho la piena certezza che molti siano convinti che tutto funzioni perché una volta ho fatto registrare ad Excel tutta la procedura passo passo e poi l'abbia messa un po' a punto.

      Prima o poi ne immolo uno al dio Nanos.

      Elimina
  2. Devo dire che i miei clienti, almeno, hanno il buon senso di NON rompermi l'anima per il fatto di metterci del tempo a risolvere i casini che, nel 90% dei casi, sono loro stessi a creare.

    BTW, confesso che, a primo avviso, se crasha una funzionalità come la SaveAs, che fino ad un secondo prima andava senza problemi, avrei pensato ad un virus sul client piuttosto che al file corrotto.

    Ieri, per esempio, mi chiama SFL (SuperFemaleLuser) alla quale il Remote Desktop ha smesso di funzicare. Cosi, senza motivo. Molto Microsfott!
    Dopo aver verificato che il Remote Desktop sul server andasse e che il profilo remoto non fosse sputtanato ho, per spregio perché un Antivirus a Pagamento ce l'hanno già, fatto fare una scansione con il Virus Removal Tool della Kaspersky.
    4 ore dopo (non sono prestantissimi i PC...) la scansione era completata, 15 virus trovati e cancellati (che l'antivirus che hanno NON trovava) e Remote Desktop ritornato giulivo a funzionare.

    RispondiElimina
    Risposte
    1. Infatti mi era successo a casa ed ero diventato MATTO a risolverlo.
      Compresa reinstallazione di Office.
      Ho avuto l'illuminazione quando ho provato il modulo su un PC che andava tranquillamente ed andava in crash anche lì.
      Ma davvero, l'ho fatto per disperazione.

      In tema AV, ho Avira e fino ad un mese fa ero ultrasoddisfatto.
      Poi sono capitato per caso in un folder ed ho trovato dei file dai nomi strani.
      Check nel taskman e li trovo tra i processi.
      Li chiudo: si riaprono.
      Si, vabbé, ho un virus ed è chiaro - ma anche lanciando la scansione Avira ribadiva che era tutto a posto.
      Scaricato e lanciato Anti Malware di Malwarebytes ed ha fatto una strage.
      Nota: non era un virus recente, mi risultava creato sul mio PC due mesi prima.
      Quindi se lo sono del tutto scordato.

      Elimina
  3. Beh, sappiamo tutti che UN antivirus non ti darà mai la certezza della protezione.
    Per avere una buona sicurezza è necessario usare diverse soluzioni e, per sicurezza, fare scansioni periodiche con diversi prodotti (Kaspersky, Avira, Norton rilasciano tutti dei tool gratuiti).
    Il Problema (notare la maiuscola) è che io faccio assistenza a clienti che sono fa 20 a 50 Km da dove lavoro. Ergo, non è che posso mettermi a falciare un PC da remoto mentre l'utonto lo sta usando (visto che la Microsozz ha ^deciso^ di bloccare le sessioni remote temporanee sugli OS Desktop a livello codice).
    Se poi si considera che gli utenti più problematici sono anche "quegli" utenti, i lavoratori instancabili, che fanno il lavoro più importante al mondo e che NON POSSONO SMETTERE di lavorare, si capisce perché gestire le scansioni da remoto con i prodotti freeware non è proprio una soluzione praticabile.
    Ed, ovviamente, quando gli si propone un antivirus un po' più costoso ti ridono in faccia.

    RispondiElimina
  4. Ma gliel'hai messa un'altra icona alla macro? :D Impegnati, gli errori nelle macro non perdonano!
    ...
    ...
    ...
    MACRO!

    XD

    RispondiElimina