Condividi:        

MACRO DI EXCEL (O DI ACESS)

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

Re: MACRO DI EXCEL (O DI ACESS)

Postdi Flash30005 » 25/06/09 18:44

Gattuccio0 ha scritto:...mi appare un pop-up con:
Errore di run-time '5153:
Impossibile attribuire a un documento lo stesso nome di un documento aperto.
Digitare un nome differente.
(C:\Ricette|3|2_031.txt)

Risultato: nella cartella .doc ci sono tutti e 100 i documenti. In quella .txt ce n'è uno solo. Difatti il risultato della macro è stata la compilazione di una riga.
...


Se hai modificato solo il ritardo portandolo a 10 in tutte e due le macro, fai così
Cancella tutti i file txt nella cartella /3 (lascia solo un centinaio di file.doc)
Assicurati che non hai processi Winword.exe nel task manager se ci sono eliminali
Avvia solo il file di excel (programma) e riprova
altrimenti inviami un pacchetto con 200 file così potrò fare dei test anche io,
male che vada mi farò cucinare qualche buona ricetta :lol:

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Sponsor
 

Re: MACRO DI EXCEL (O DI ACESS)

Postdi Flash30005 » 25/06/09 23:03

Gattuccio0 ha scritto:... ma la cosa strana è che:

mi appare un pop-up con:
Errore di run-time '5153:

Impossibile attribuire a un documento lo stesso nome di un documento aperto.
Digitare un nome differente.
(C:\Ricette|3|2_031.txt)


La cosa non è strana tu hai più file che hanno come primi 5 caratteri 2_031 (cosa che non sembrava potesse accadere dai file inviati a me) :evil:
Comunque ho modificato sia l'attribuzione del nome al file txt (ora assume l'intero nome del file .doc e non solo i primi 5 caratteri) e ho applicato il metodo del FileSearch consigliato sul sito di G.Giaccaglini
Ho eseguito copie multiple dei 34 file fino ad arrivare a 136 file il tempo impegato è di 50 secondi circa ;)
Ti invio il link dell'intero programma (ho effettuato delle variazione anche ai file .bat, quindi sostituisci tutto)
http://rapidshare.com/files/248656680/Ricette6.zip.html

Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: MACRO DI EXCEL (O DI ACESS)

Postdi Gattuccio0 » 26/06/09 08:38

Ciao Flash,
ho fatto le prove con il nuovo programma con 204 files (giusto per vedere i tempi di attesa): attivo la macro CreArch ed in 4 secondi processa tutti i files.

FANTASTICO!

P.S. Vada per la cena
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: MACRO DI EXCEL (O DI ACESS)

Postdi Gattuccio0 » 26/06/09 09:28

ERRATA CORRIGE: ho fatto confusione Flash...il file Ok che è partito senza problemi era il tuo con i 34 files.

Ho fatto una prova, aggiungendo un po' di files...ovvero processare 142 .doc (giusto per vedere i tempi).

Lancio l'applicazione e dopo qualche secondo appare la solita finestra di "azione OLE"

Do circa 17 ok ma poi compare l'errore:

Errore di run.time '70.
Autorizzazione negata. (Open "C:\ricette\ListaConv.cfg" For Input As #1)

La cosa strana che a volte mi processa i file senza alcun problema...altre, invece sorgono errori. Potrebbe dipendere dalla tipologia di file stesso?

Ho fatto una cartella con un po' di files diversi tra loro per un test...
http://rapidshare.com/files/248782447/R ... a.zip.html

Gattuccio
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: MACRO DI EXCEL (O DI ACESS)

Postdi Gattuccio0 » 26/06/09 09:46

Scusa Flash dimenticavo una cosa: in alcuni casi in colonna A ho un codice...in altri casi ho il titolo della ricetta (es. Anatra alla pechinese).

Magari possiamo velocizzare il tutto con un piccolo cambiamento...Alcune delle ricette risalgono agli anni '80 ed all'epoca l'ordine dei paragrafi era differente:
Titolo: Anatra lla pechinese
Codice: 0001
Ingredienti: XXXXX

Su quelle più moderne è il seguente:
0001
Anatra alla pechinese
Ingredienti

Domanda. Dato che a me interessa avere in A1 il codice con cui il file .Doc è nominato (es. 0001 o 2_0001 o A0001) (senza andare neccessariamente a prendere il testo dalle prime righe del documento) ed in B1 il testo all'interno del documento (l'ordine di successione degli argomenti non è fondamentale...con queste ultime considerazioni non dovrebbe essere meno complicato?

Gattuccio
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: MACRO DI EXCEL (O DI ACESS)

Postdi Flash30005 » 26/06/09 14:00

Oltre che la testa al toro abbiamo tagliato anche un'altra cosa...
Siamo arrivati alla versione 9
http://rapidshare.com/files/248854522/Ricette9.zip.html

Ho eliminato qualche file... è importante che tu sappia che, adesso, la macro, non salva più i file originali nell'archiviodoc ma converte i file in file testo e cancella i file.doc (quindi conserva l'archivio altrove) i file testo continuano ad essere archiviati perché così omogenei potranno tornare sempre utili.
Non eliminare i fogli ListaDoc e ListaTxt
Per attivare la macro devi cliccare due volte sulla cella A1 del foglio1
la barra in basso informa sull'avanzamento del processo in %
Ho elaborato 150 file in 70 secondi (mediamente 2 file/sec)

prova il funzionamento e fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: MACRO DI EXCEL (O DI ACESS)

Postdi Gattuccio0 » 26/06/09 22:36

Tutto va alla perfezione! Ho fatto varie prove cambiando il numero di files da processare: il numero ottimale sono 250. Oltre si corre il rischio che si verifichi un errore (dovuto semplicemente per il carico di processi da fare).

Flash...se non ci fossi bisognerebbe inventarti!
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: MACRO DI EXCEL (O DI ACESS)

Postdi Flash30005 » 26/06/09 23:18

Gattuccio0 ha scritto:Tutto va alla perfezione!


Sicuro?
Una prova che non avevo mai fatto, avendo pochi file, era quella di mettere nella directory una parte dei file
processarli e poi processarene altri (quello che dovrai fare tu) e sai di cosa mi sono accorto?
Che le ultime ricette sostituiscono le precedenti per un bug
comunque devi solo sostituire un codice
Vai nella macro CreaArch
e sostituisci questa variabile
Cf = 0
con
Codice: Seleziona tutto
Cf = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row

Ora è perfetto! ;)

Ciao

Ps. Ti rimane la prima riga A1 e B1 vuota ma se colori il fondo della cella A1 e ci scrivi dentro START ti aiuta a ricordare come avviare la macro
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: MACRO DI EXCEL (O DI ACESS)

Postdi Flash30005 » 27/06/09 08:34

Aggiungo (leggi e modifica prima come descritto nel post precedente) una piccola modifica che ti potrà essere utile per il futuro
Codice: Seleziona tutto
Fdoc = Worksheets("ListaDoc").Range("A" & D).Value   '<<< riga esistente
If Fdoc = "" Then Exit For    '<<< inserisci questa riga in questo punto
Application.StatusBar = "Conversione " & Fdoc & " in Txt... "   '<<< riga esistente

Permette al programma di elaborare solo i file testo (e non a bloccarsi nel caso tu non abbia i file doc)
Questa modifica ti tornerà utile in futuro quando avrai l'intero archivio in file txt (file già trattati).
Inutile dire che la velocità, in questo caso, sarà di gran lunga superiore a quella con la conversione dei file e ti permetterebbe di importare tutti i file in un nuovo foglio in pochissimo tempo.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: MACRO DI EXCEL (O DI ACESS)

Postdi Gattuccio0 » 29/06/09 08:04

Sinceramente non mi ero accorto della sovrascrittura dei file in quanto ho fatto due cartelle differenti: da una attingo i file da processare e ne processo 200 alla volta in modo da non congestionare l'applicazione. Quando i file sono stati processati elimino i .doc in modo che rimangano solo i .txt salvati nella cartella.

Ad ogni modo ho già apportato le modifiche che hai fatto!

Buona giornata a tutti.
Gattuccio
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: MACRO DI EXCEL (O DI ACESS)

Postdi Flash30005 » 29/06/09 09:50

Gattuccio0 ha scritto:Sinceramente non mi ero accorto della sovrascrittura dei file in quanto ho fatto due cartelle differenti: da una attingo i file da processare e ne processo 200 alla volta in modo da non congestionare l'applicazione. Quando i file sono stati processati elimino i .doc in modo che rimangano solo i .txt salvati nella cartella.


Ti invio la versione 10 con delle interessanti migliorie:
1) Eliminazione di tutti i file .bat per evitare la disincronizzazione dei processi (la versione 9 aveva ListaSposta.bat)
2) Correzioni caratteri accentati (à,è,é,ì,ò,ù) che il precedente programma visualizzava con dei simboli
3) Possibilità di modificare il percorso da C:\Ricette\ a qualsiasi altro modificando la variabile Perc nella macro
4) Possibilità di avere i file DbRicette.xls ovunque e non necessariamente nella cartella C:\ricette\
5) Come conseguenza del punto 4) ho eliminato la sottocartella "3", i file .doc possono essere inseriti direttamente nella cartella "Ricette"
6) Creazione automatica della cartella ArchivioTxt nel caso che al primo utilizzo sia stato cambiato il percorso alla cartella "Ricette"
7) Effettua il controllo dei file già processati (controllo della lista file testo in ArchivioTxt) e informa di aver aggiunto n ricette avente lo stesso codice in maniera tale che, una volta processati i file, potrai mettere in ordine crescente la colonna A e verificare se, a parità di codice, anche la ricetta è identica, in tal caso cancellare il record per non avere duplicati.
8) Se non ci sono file avverte e non dà errore
9) La versione 10 ha due varianti che ho soprannominato Lepre e Mulo
La versione Lepre è molto più veloce: 1,3 file /sec (tempo stimato circa 3 minuti per 250 file) ma avendo il processo Word sempre aperto genera nella cartella Ricette dei file temporanei che con l'aumetare del numero dei file processati che fanno rallentare il programma fino a bloccarlo intorno ai 600 file. (Da usare quindi per pochi file)
La versione Mulo è più lenta: 0.7 file /sec (tempo stimato circa 6 minuti per 250) per via della chiusura dell'applicativo Word ad ogni file processato, nella cartella non si accumulano file temporanei e non si blocca (potrebbe processare tutti i 18.000 file in 8,5 ore)

http://rapidshare.com/files/249543700/R ... 0.zip.html

Ti consiglierei di tenere l'intero tuo archivio .doc in una parte del tuo HD
Fare una copia del suddetto archivio (file da processare) che chiamerai per esempio ArchivioP
Se usi la versione "Lepre" con 200 file alla volta, prelevi con taglia e incolla i 200 file dall'ArchivioP e li posizioni in C:\Ricette, il programma provvede a cancellare i .doc in C:\Ricette e man mano che processi i file, l'ArchivioP si svuoterà (per l'operazione di taglia/incolla manuale da te effettuata)
Tieni presente che una volta processati tutti i 18.000 file avrai un archivio di file .txt che potresti importare con estrema velocità perché i "lunghi" tempi di elaborazione sono dovuti alla conversione da .doc a .txt non al caricamento dei file .txt nel foglio excel.
Quindi quell'archivio in formato testo diverrà molto valido per futuri utilizzi

Fai sapere se le migliorie apportate le trovi positive, perché si può parlare di "perfezione", non per il raggiungimento di questo stato (che è impossibile), ma solo se la condizione soddisfi appieno le tue esigenze e la gratificazione per coloro (non parlo solo per me) che lavorano per trovare le soluzioni migliori e quella di essere stati almeno utili e lo si sa solo con un feedback ;)

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: MACRO DI EXCEL (O DI ACESS)

Postdi Gattuccio0 » 29/06/09 12:57

Che dire...sia mulo che lepre sono favolosi...in effetti è tutta un'altra cosa:
ho provato con lepre ad aprirne 200 file alla volta e devo dire ch ein effetti ha guadagnato in tempo. ora, prima di andare in pausa...faccio la prova con mulo magari con 800 file.

Per le prove che ho fatto fino ad ora sono più che soddisfatto di entrambi.
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: MACRO DI EXCEL (O DI ACESS)

Postdi Flash30005 » 29/06/09 15:40

Gattuccio0 ha scritto:Che dire...sia mulo che lepre sono favolosi...in effetti è tutta un'altra cosa:
ho provato con lepre ad aprirne 200 file alla volta e devo dire ch ein effetti ha guadagnato in tempo. ora, prima di andare in pausa...faccio la prova con mulo magari con 800 file.

Per le prove che ho fatto fino ad ora sono più che soddisfatto di entrambi.


Fai tutte le prove che vuoi con entrambi ma una bella soddisfazione sarebbe quella di far lavorare il Pc (le macchine servono a questo ;) ) con tutti i 18.000 file e la versione mulo (sono curioso e ottimista) :lol:
Ti renderai conto della differenza tra le due versioni se mentre lavorano accedi nella cartella Ricette e vedi che Lepre crea una serie di file.txt e temporanei ~file.txt quindi avri 3 file per ogni ricetta fino alla fine del processo, mentre Mulo mantiene il numero iniziale dei file + 1 (quello che sta processando) perché appena processato chiude e cancella il file.doc quindi nessun file temporaneo e ogni .doc viene sostituito dal txt ;)

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: MACRO DI EXCEL (O DI ACESS)

Postdi Gattuccio0 » 29/06/09 21:50

Ho fatto la prova con lepre...in effetti è una scheggia...ma il massimo l'ho visto con mulo: all'intervallo ho preso un panino e l'ho mangito davanti al computer. File processati 5.500...tutto liscio come l'olio (purtroppo non ho potuto processare i 18.000 perchè sarei stato con le braccia incrociate e non sarebbe stato bello agli occhi dei miei colleghi).
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: MACRO DI EXCEL (O DI ACESS)

Postdi Flash30005 » 29/06/09 23:32

Gattuccio0 ha scritto:Ho fatto la prova con lepre...in effetti è una scheggia...ma il massimo l'ho visto con mulo: all'intervallo ho preso un panino e l'ho mangito davanti al computer. File processati 5.500...tutto liscio come l'olio (purtroppo non ho potuto processare i 18.000 perchè sarei stato con le braccia incrociate e non sarebbe stato bello agli occhi dei miei colleghi).


Sono contento del risultato ;)
Per i 18.000, non so se ti è permesso, potresti attivarlo prima di andartene a casa e il giorno dopo dovresti trovare tutto fatto.
A quel punto conserva i txt sono un "bene prezioso"... Hai fatto la prova a ricaricare solo i file txt? Fai in tempo a battere ciglio, se si considerano quante operazioni fa è impressionante.

Ok, se dovessi incontrare qualche problema con file anomali prendi nota e comunica.

Ciao e buon lavoro (si fa per dire) :lol:
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "MACRO DI EXCEL (O DI ACESS)":


Chi c’è in linea

Visitano il forum: Nessuno e 38 ospiti