Condividi:        

Macro per salvare con nome o rinominare

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

Macro per salvare con nome o rinominare

Postdi Gattuccio0 » 17/06/10 17:27

Ciao a tutti.
Bene...ho preso coraggio ed ho cominciato a 'giocare' con le macro di Excell.

Ne ho fatta una che mi apre, all'interno di una cartella, tutti i files .txt che vi trova (importandoli in Excell a partire da una determinata riga).

Il file ottenuto in Excel, vorrei salvarlo con lo stesso nome ma in un'altra cartella...ma non mi tornano alcune cose:

il codice che ho fatto è il seguente:
Codice: Seleziona tutto
Sub Prova1()
'
' Prova1 Macro
'

'
    ChDir "C:\prova"
    Workbooks.OpenText Filename:="C:\prova\*.txt", _
        Origin:=xlWindows, StartRow:=72, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
        Comma:=False, Space:=False, Other:=True, OtherChar:="|", FieldInfo:= _
        Array(1, 1), TrailingMinusNumbers:=True
    ChDir "C:\prova\OK"
    ActiveWorkbook.SaveAs Filename:="C:\prova\OK\ " & Range.Value & ".txt" _
        , FileFormat:=xlText, CreateBackup:=False
    ActiveWindow.Close
End Sub


Ovvero dico di aprire tutti i files .txt con il comando:
Codice: Seleziona tutto
    ChDir "C:\prova"
    Workbooks.OpenText Filename:="C:\prova\*.txt",


ma come faccio a dire che a tutti i files deve mantenere lo stesso nome?
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Sponsor
 

Re: Macro per salvare con nome o rinominare

Postdi Anthony47 » 19/06/10 23:01

Codice: Seleziona tutto
Workbooks.OpenText Filename:="C:\prova\*.txt"
Ma sei sicuro che cosi' apri "tutti" i file txt, o ne apri uno a caso?

Fatti in una colonna l' elenco dei file txt da lavorare, poi in sequenza ne processi uno alla volta usando un ciclo For /Next.

Ci sono state diverse discussioni simili, vedi quale e' piu' semplice da sviluppare. E se non trovi il bandolo posta ancora spiegando dove sei arrivato.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per salvare con nome o rinominare

Postdi Gattuccio0 » 21/06/10 09:25

ciao Anthony,
sinceramente non so se con l'espressione *.txt mi si aprono tutti i file in quanto essendomi bloccato sul salvataggio (nel senso che il file mi richiedeva il salvataggio, un avolta che davo l'ok si bloccava tutto il processo).

Prima di postare il topic ho letto tutti i messaggi presenti sul forum: un paio si avvicinavano alla mia esigenza ma con delle modifiche un pochino più complesse (in quanto il topic era incentrato sul salvataggio del nome del file con il nome contenuto o in qualche cella particolare oppure in base alla data). Dovendone processare qualche migliaio ho scelto la strada della registrazione della macro.

Andando a vedere anche sulla guida in liena non ho trovato molto: il SaveAs indica salvataggio in merito a cartelle e non a files.

Ora prendo il tuo suggerimento e vado a fare ulteriori ricerche (grazie per non aver postato nessun tipo di macro o codice...oramai è una sfida e voglio riuscire da solo nell'impresa...).
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: Macro per salvare con nome o rinominare

Postdi maxmula » 21/06/10 15:33

Va bene registrare la macro, ma poi alla fine è sempre buona cosa renderla un po' più "intelligente" con qualche modifica al punto giusto.

Per aprire tutti i file, uno per volta, puoi usare il comando Dir

Codice: Seleziona tutto
    CARTELLA_ATTUALE = CurDir
    ChDir "d:\file_da_elaborare "  'questa è la cartella destinazione

    FILE_DA_APRIRE = Dir("*.LOG")
    While FILE_DA_APRIRE <> ""
        Call APRI_FILE(FILE_DA_APRIRE)
        Call ELABORA_FILE(FILE_DA_APRIRE)
        FILE_DA_APRIRE = Dir()
    Wend
   
    CD CARTELLA_ATTUALE



Funzionamento di Dir:

- La prima volta gli specifichi quali file deve andare a cercare (es. "*.txt") ti viene restituito il nome del PRIMO file trovato
- Le volte successive, non gli passi nessun parametro e ti viene restituito il nome del successivo file trovato
- ripeti il tutto finché non ti viene restituito più nulla (stringa vuota). A quel punto sei sicuro di averli elaborati tutti.

Ciao!
MAx
Avatar utente
maxmula
Utente Senior
 
Post: 965
Iscritto il: 18/08/04 18:28
Località: N44°59'45 E09°00'34

Re: Macro per salvare con nome o rinominare

Postdi Gattuccio0 » 23/06/10 14:23

Niente da fare ragazzi.
Ci sono cose che un apersona può fare e capire ed altre no.

Ho passato tre giorni per cercare qualche soluzione che si avvicinasse alla mia. Alla fine ho dovuto far ei conti con i giorni che perdevo e quindi ho adottato la seguente soluzione (so che rabbrividerete in quanto si tratta di un asoluzione sporca, lunga e macchiavellica ma ... a mali estremi, estremi rimedi):

- ho importato tutti i files in .txt in un file unico
- con trova e sostiuisci (in Word mantendo la formattazione in .txt) gli ho dato una formattazione tale affinché i dati che servivano a me fossero compresi tra ";"
- ho importato il file in Excel dando come separatore il ";"
- con i filtri personalizzati ho mantenuto solamente le righe con i dati ch emi interessavano

NB: Giuro, le ho provate tutte ma così in 40 minuti me la sono cavata.
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: Macro per salvare con nome o rinominare

Postdi maxmula » 23/06/10 15:09

Beh, che dire... quando il tempo stringe la mossa vincente è sempre quella del buon vecchio Clint:
"Improvvisare, adattarsi, raggiungere lo scopo"


:D :D :D

Ciao ed alla prossima!
MAx
Avatar utente
maxmula
Utente Senior
 
Post: 965
Iscritto il: 18/08/04 18:28
Località: N44°59'45 E09°00'34


Torna a Applicazioni Office Windows


Topic correlati a "Macro per salvare con nome o rinominare":


Chi c’è in linea

Visitano il forum: Nessuno e 64 ospiti