Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

Mettere in ordine i file Excel Opzioni
bbrun
Inviato: Sunday, March 11, 2012 10:54:14 AM
Rank: AiutAmico

Iscritto dal : 3/14/2005
Posts: 978
Salve, dovrei mettere in ordine i file Excel nel pc di mio fratello (MS Office 2000).

I file sono tutti in un'unica cartella, contrassegnati con giorno-mese-anno.
A parte il fatto del suddividere il tutto nelle cartelle ANNO e MESE cosa devo fare per
mettere in ordine cronologico i file dentro il mese?

È sufficente rinominarli da 1-1-2012 a 01-01-2012?
Se la risposta è sì, è possibile automatizzare il processo con qualche comando?

Grazie.
Sponsor
Inviato: Sunday, March 11, 2012 10:54:14 AM

 
a10n11
Inviato: Monday, March 12, 2012 2:59:09 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
il metodo di ordinamento dei file e cartelle dipende dal SO impiegato.
fino a Win2K i nomi dei file venivano condiserati come testo mentre per le versioni sucessive come numero
Vedi Qui la spiegazione della logica.
saluti
Giap

bbrun
Inviato: Monday, March 12, 2012 4:38:17 PM
Rank: AiutAmico

Iscritto dal : 3/14/2005
Posts: 978
a10n11 ha scritto:
il metodo di ordinamento dei file e cartelle dipende dal SO impiegato.

Scusa a10n11, hai ragione, mi sono dimenticato di inserirli.

Windows XP pro sp3 - 32 bit/Libre Office 3.3

Sul registro preferirei non metterci le mani, se possibile
Ciao.
a10n11
Inviato: Monday, March 12, 2012 5:07:43 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
non conosco l'ambiente e la sintassi della programmazione di LibreOffice quindi una macro che rinomini i file non sono in grado di realizzarla.
saluti
Giap

bbrun
Inviato: Monday, March 12, 2012 6:15:19 PM
Rank: AiutAmico

Iscritto dal : 3/14/2005
Posts: 978
a10n11 ha scritto:
non conosco l'ambiente e la sintassi della programmazione di LibreOffice quindi una macro che rinomini i file non sono in grado di realizzarla.


MA PORCA MISERIA...RI-SCUSA un'altra volta a10n11, Libre office sta NEL MIO PC, in quello di mio fratello c'è MS Office 2000.
E meno male che lo avevo pure scritto nel primo messaggio, oggi mi devo essere dimenticato la testa da un'altra parte.

Il sistema operativo è identico per tutti e due.

Grazie.
a10n11
Inviato: Tuesday, March 13, 2012 9:15:35 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
mi serve sapere esattamente come è costruito il nome del file.
c'è solo la data es: 1-1-2012.xls ??
saluti
Giap

bbrun
Inviato: Tuesday, March 13, 2012 9:26:12 AM
Rank: AiutAmico

Iscritto dal : 3/14/2005
Posts: 978
a10n11 ha scritto:

mi serve sapere esattamente come è costruito il nome del file.
c'è solo la data es: 1-1-2012.xls ??

No, è ancora più scarno.

1 1 12.xls

Come puoi bene immaginare il primo gennaio del 2010 è seguito dal primo febbraio, poi dal primo marzo ecc. ecc.
a10n11
Inviato: Tuesday, March 13, 2012 1:00:23 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
Salve
Premessa: Prima di far girare la macro che trovi qui sotto, fai un salvataggio dei dati oggetto della elaborazione.

Con le seguenti considerazioni:

Tutti i files si trovano all'interno di una sola cartella, tutti i nomi dei file sono espressi nella forma 1 1 12.xls
Esempio Cartella Prova nel disco C pertanto C:\Prova
all'interno della Cartella "Prova", crea tante sottocartelle per ogni mese dell'anno con questo Formato: Gennaio12 Febbraio12 ecc.

Apri Excel, vai in ambiente visual Basic raggiungibile premendo contemporaneamente Alt+F11
Menù Inserisci>Modulo
nella pagina bianca che si apre incolla questo codice:


Sub ElencoFile()
Set FSO = CreateObject("scripting.filesystemobject")
ChDrive "C"
Mydir = "c:\prova\"
ChDir Mydir
f = Dir(Mydir)
If f = "" Then Exit Sub
Do While Len(f) > 0
dd = Left(f, InStr(1, f, " ") - 1)
mm = Mid(f, InStr(1, f, " ") + 1, (InStr(InStr(1, f, " ") + 1, f, " ") + 1 - InStr(1, f, " ")) - 2)
aa = Mid(f, InStr(1, f, ".") - 2, 2)
If Len(dd) < 2 Then dd = "0" & dd
If Len(mm) = 1 Then
mm = "0" & mm
Else
mm = Mid(f, InStr(1, f, " ") + 1, 2)
End If
Select Case mm
Case 1
mmt = "Gennaio"
Case 2
mmt = "Febbraio"
Case 3
mmt = "Marzo"
Case 4
mmt = "Aprile"
Case 5
mmt = "Maggio"
Case 6
mmt = "Giugno"
Case 7
mmt = "Luglio"
Case 8
mmt = "Agosto"
Case 9
mmt = "Settembre"
Case 10
mmt = "Ottobre"
Case 11
mmt = "Novembre"
Case 12
mmt = "Dicembre"
End Select
Newpath = "c:\prova\" & mmt & aa & "\"
oldname = f
newname = dd & "-" & mm & "-" & aa & ".xls"
Name Mydir & oldname As Mydir & newname
FSO.MoveFile Source:=Mydir & newname, Destination:=Newpath
f = Dir
Loop
End Sub

Attiva il riferimento necessario su: Menù strumenti>Riferimenti metti la spunta su " Microsoft scripting Runtine"
Esegui la macro F5

finita l'esecuzione Salva e chiudi e verifica cosa è successo nella cartella Prova

saluti
Giap


bbrun
Inviato: Tuesday, March 13, 2012 4:16:27 PM
Rank: AiutAmico

Iscritto dal : 3/14/2005
Posts: 978
TERZO ERRORE, E PER LA TERZA VOLTA CHIEDO SCUSA!

I file non sono XLS ma DOC. d'oh!

Qui va a finire che mi fai pagare (e me lo merito).
a10n11
Inviato: Tuesday, March 13, 2012 4:41:28 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
sostituisci questa riga
newname = dd & "-" & mm & "-" & aa & ".xls"
con questa
newname = dd & "-" & mm & "-" & aa & ".doc"
saluti
Giap

bbrun
Inviato: Tuesday, March 13, 2012 6:52:54 PM
Rank: AiutAmico

Iscritto dal : 3/14/2005
Posts: 978
Ho eseguito tutte le istruzioni, ho eseguito la correzione da XLS a DOC,
ho creato la macro, selezionato "microsoft scripting runtime", premuto F5,
e mi da "Errore di runtime 76: impossibile trovare il percorso"
Faccio partire il debug, il quale mi dice che l'errore sta nella riga
"FSO.MoveFile Source:=Mydir & newname, Destination:=Newpath"

Premetto che il percorso è: C:\prova e dentro prova le cartelle dei mesi e i file da rinominare.
a10n11
Inviato: Tuesday, March 13, 2012 7:41:10 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
se hai scritto tutto bene e la cartella prova si trova nella directory del disco C non vedo perchè non la riconosca ( vedi mai che si tratti di permesdsi di scrittura sul disco C) prova a spostare la cartella su un'altra partizione del disco "D" se l'hai. e cambia i riferimenti all'interno della macro.
saluti
Giap

Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.