Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Excel ultimo nome file salvato !

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

Excel ultimo nome file salvato !

Postdi deniel69 » 17/04/12 23:03

Ciao a tutti e un grazie anticipato a chiunque mi voglia aiutare.
Ho un file excel in cui ho creato una macro che una volta compilata la tabella premendo un tasto ,me lo salva con nome in una cartella specifica ed esce da excel.
Salvando con nome il file ,il file origine ad ogni apertura avrà le tabelle vuote e non verrà mai modificato.
Sin quì tutto ok ,ora vorrei che ad ogni apertura il file origine mi riportasse come info l'utimo nome usato per il salvataggio.

Ho trovato una macro per leggere un file txt e tenere il conteggio delle aperture, ma a me interessa il nome specifico che è composto da 2 celle ,un numero e un nome.

grazie a tutti.... :undecided: :undecided:
Avatar utente
deniel69
Utente Senior
 
Post: 113
Iscritto il: 17/04/12 22:43

Sponsor
 

Re: Excel ultimo nome file salvato !

Postdi Anthony47 » 17/04/12 23:14

Ciao deniel69, benvenuto nel forum.
Mi pare che hai una certa dimistichezza con le macro; se il tuo obiettivo e' scrivere "qualcosa" in una "qualche cella" userai un' istruzione del tipo
Thisworkbook.Sheets("NomeFoglio").Range("QualeCella").value= "Qualcosa"
Alla fine chiuderai il file di partenza con l' opzione Savechanges:=True

Invece di "Qualcosa" userai il nome che hai assegnato al nuovo file creato.

Se con questo spunto non risolvi allora ti chiedero' il listing della tua macro.

Ciao, fai sapere.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel ultimo nome file salvato !

Postdi deniel69 » 18/04/12 05:34

Ti ringrazio della risposta.
Di seguito trovi la macro da me utilizzata.
Io non voglio che venga modificato il file principale , ma voglio che l'info riguardante l'ultimo nome file salvato
venga acquisita e ci sia la possibilità di leggerla ,all'apertura del file principale.
E visto che ci sono ti chiedo anche se è possibile tramite macro aprire una determinata dir esempio C:\vattelapesca\documenti...... senza lanciare nessun file.

Public Sub Macro_Save_With_Name_Exit()
'
Dim miofile As String
'
'cella da cui prelevare il nome del file
'
'Risultato valore cella P13+P11
'
Range("P3").Select
miofile = ActiveCell.Value
Range("P4").Select
percorso = ActiveCell.Value
'
'
'questa è la directory dove deve salvare...
'
'
ActiveWorkbook.SaveAs Filename:=percorso & miofile & ".xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
'
'Chiude Excel
'
ThisWorkbook.Saved = True
Application.Quit

End Sub

Non sono un mago delle macro, ne capisco qualcosa ma quella che vedi è frutto di ricerche e copia incolla.
Grazie nuovamente....
Avatar utente
deniel69
Utente Senior
 
Post: 113
Iscritto il: 17/04/12 22:43

Re: Excel ultimo nome file salvato !

Postdi Flash30005 » 18/04/12 10:05

Se vuoi conoscere l'ultimo nome (stringa o altro) da un file testo puoi scrivere un file testo ex-novo
cancellando automaticamente il file con la funzione "Output"
Codice: Seleziona tutto
Sub ScriveTxt()
Perc = "C:\Temp\"
Open Perc & "Pippo.txt" For Output As #1
Print #1, "Write"
Close #1
End Sub


Se vuoi, invece aggiungere righe a txt esistente (o creandolo ex-novo se non esiste) puoi usare la funzione "Append"
Codice: Seleziona tutto
Sub AggiungeATxt()
Perc = "C:\Temp\"
        Open Perc & "Pippo.txt" For Append As #1
            Print #1, "Pluto"
            Close #1
End Sub


Ora si tratta di leggere il file testo appena creato con questo codice
Codice: Seleziona tutto
Sub LeggeTxt()
Perc = "C:\Temp\"
Open Perc & "Pippo.txt" For Input As #1
    Do Until EOF(1)
        Line Input #1, Riga
        MsgBox Riga
    Loop
Close #1
End Sub


Nella variabile "Perc" inserisci il nome della/le directory o percorso completo dello slash finale "\"
"Pippo.txt" è il nome del file
e le stringhe che verranno scritte sono subito dopo Print#1

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel ultimo nome file salvato !

Postdi deniel69 » 19/04/12 13:30

Eccomi problema risolto.

Grazie alle vostre indicazioni e dopo un alcune prove ho tirato fuori quanto segue...

Codice: Seleziona tutto
Sub ScriviFileTxt()
'Scrive su txt prelevando dati dal foglio attivo in una cella precisa
FileNum = FreeFile()
Open "C:\Temp\prova.txt" For Output As #FileNum
Print #FileNum, Cells(1, 4); 'OPPURE Range("D1"
Close #FileNum
End Sub


Codice: Seleziona tutto
Sub LeggiFileTxt()
'Legge tutto il file e scrive il risultato in una cella precisa
FileNum = FreeFile
Open "C:\Temp\prova.txt" For Input As #FileNum
Range("A1") = Input$(LOF(FileNum), #FileNum)
' vengono letti tutti i caratteri in una sola volta
Close #FileNum
End Sub


Non mi rimane che lanciare la lettura in automatico in apertura file e la scrittura al momento del salva con nome prima di uscire.......

Grazie e complimenti ottimo forum ....... :lol: 8)
Avatar utente
deniel69
Utente Senior
 
Post: 113
Iscritto il: 17/04/12 22:43

Re: Excel ultimo nome file salvato !

Postdi Flash30005 » 19/04/12 13:58

Per lanciare la macro all'apertura del file penso che sappia che va richiamata (o scritta direttamente) in ThisWorkbook_Open...
ma ricorda di indicare anche il foglio nel quale scrivere
es:
Codice: Seleziona tutto
Range("A1")  = URiga ' Oppure [A1] = URiga

diventa
Codice: Seleziona tutto
Sheets("foglio1").Range("A1")  = URiga ' Oppure [A1] = URiga


Stessa cosa in chiusura, perché il foglio attivo potrebbe non essere quello che ha il dato da trascrivere nel file testo

Oppure inserisci una select del foglio prima di ogni salvataggio

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel ultimo nome file salvato !

Postdi deniel69 » 19/04/12 15:05

Perfetto ...ti ringrazio 6 1 spettacolo.......... :)
Avatar utente
deniel69
Utente Senior
 
Post: 113
Iscritto il: 17/04/12 22:43

Re: Excel ultimo nome file salvato !

Postdi Flash30005 » 19/04/12 23:16

Riguardando il codice che usi per scrivere e leggere il file trovo un'incongruenza e anche dati spuri
Incongruenza perché con il codice di scrittura Output non fai altro che cancellare ogni volta il file quindi avrai sempre e solo una riga nel file testo e a cosa serve leggere tutto il file?
Quindi perché usare la funzione
Codice: Seleziona tutto
Input$(LOF(FileNum), #FileNum)
:?:

Prova questa macro per la scrittura
Codice: Seleziona tutto
Sub ScriviFileTxt()
Open "C:\Temp\prova.txt" For Output As #1
Print #1, [D4]
Close #FileNum
End Sub

e questa per la lettura
Codice: Seleziona tutto
Sub LeggeTxt2()
Perc = "C:\Temp\"
Open Perc & "Prova.txt" For Input As #1
    Do Until EOF(1)
        Line Input #1, Riga
        URiga = Riga
    Loop
Close #1
[A1] = URiga
End Sub


Noterai, sul foglio di excel che il testo riportato nella cella A1 non ha "campi sporchi" come, invece succedeva con il codice da te postato ;)

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "Excel ultimo nome file salvato !":


Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti