Condividi:        

[Excel] Creazione cartelle con VBA

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] Creazione cartelle con VBA

Postdi abbasar » 20/12/06 11:58

Ciao a tutti
complimenti per il forum
ho bisogno di aiuto
vorrei creare una macro che mi permetta di salvare il file con cui sto lavorando in un determinato percorso descritto sul foglio di lavoro nella cella "K48" con il nome del file in "K4"

Codice: Seleziona tutto
Sub CreazPercNuovoPreventivo()
    Dim Percorso As String
    Dim NomeFile As String
    Percorso = p.Cells(48, 11).Value
    NomeFile = p.Cells(4, 11).Value
   
    ChDir Percorso
    ActiveWorkbook.SaveAs Filename:=NomeFile, FileFormat:=xlNormal, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False
End Sub



ma mi va in debug forse manca qualche istruzione
mi potete aiutare
ciao
abbasar
Newbie
 
Post: 1
Iscritto il: 20/12/06 11:52

Sponsor
 

Postdi maxmula » 21/12/06 10:02

Ciao,
solo una domanda: il percorso del file da salvare punta allo stesso drive da cui parte il tuo foglio di calcolo?
Se sono diversi, prova a fare anche un ChDrive prima del ChDir (la lettera del drive la trovi con la funzione LEFT() : è il primo carattere del percorso ;)


Secondo me però è più facile se concateni percorso e nome del file:

Codice: Seleziona tutto
file_da_salvare=Percorso & "\" & NomeFile


Dopodiché procedi con


Codice: Seleziona tutto
 ActiveWorkbook.SaveAs Filename:=file_da_salvare



Spero che questa dritta ti sia utile!
MAx
Avatar utente
maxmula
Utente Senior
 
Post: 965
Iscritto il: 18/08/04 18:28
Località: N44°59'45 E09°00'34

Postdi sax » 21/12/06 11:31

il debug è in
Percorso = p.Cells(48, 11).Value
ciao e grazie
sax
Utente Junior
 
Post: 93
Iscritto il: 20/05/06 19:34

Postdi maxmula » 21/12/06 13:11

hmmmm....

Per caso ti dice "Necessario oggetto?"
Credo dipenda da quel p.Cells... Se non hai creato l'oggetto "p" ti esce questo errore.

Non me ne intendo molto di 'ste cose, spero che sul forum ci sia qualcuno più esperto, però se non hai esigenze particolari di utilizzare delle classi, io farei:

Codice: Seleziona tutto
    Percorso = Cells(48, 11).Value
    NomeFile = Cells(4, 11).Value


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

Postdi Anthony47 » 21/12/06 14:30

Per quello che vale, sposo le considerazioni di max, sia per la raccomandazione di utilizzare l' istruzione
Codice: Seleziona tutto
file_da_salvare=Percorso & "\" & NomeFile

sia per la spiegazione dell' errore (p e' un oggetto non definito nella macro).

Ultimo consiglio, invece del Cells(x,y) io uso (quasi) sempre
Range("A1").Value
piu' noiosa da scrivere ma piu' leggibile.

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

Postdi maxmula » 21/12/06 21:04

Anthony47 ha scritto:
Ultimo consiglio, invece del Cells(x,y) io uso (quasi) sempre
Range("A1").Value
piu' noiosa da scrivere ma piu' leggibile.

Ciao a tutti,


Hai ragione, è più leggibile, ma la notazione Cells(riga,colonna) ti permette agevolmente di accedere al foglio in modo dinamico senza fare troppe "acrobazie"... specialmente quando devi leggere/scrivere una sequenza di dati.

...Questo, naturalmente, senza voler dare il via ad una inutile & sanguinosa diatriba su quale delle due sia meglio.
Alla fine l'importante è che il programma funzioni, dopotutto! :)

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

Postdi Anthony47 » 21/12/06 22:25

maxmula ha scritto:Questo, naturalmente, senza voler dare il via ad una inutile & sanguinosa diatriba su quale delle due sia meglio


:) :D :lol:

L' ottimo e' sempre nemico del bene.

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

Postdi maxmula » 22/12/06 01:22

Già, ed anni di frequentazione di Usenet prima edi forum poi mi hanno insegnato che è fin troppo facile che qualche "testa calda" legga "Roma" per "Lanterne", si senta toccato nel vivo... e scateni una inutile flame-war.

La mia frasetta aveva proprio questo scopo... sedativo. :)


Mmmm. L'1:20... Domani si va ancora al lavoro... purtroppo
Sarà meglio andare a nanna!:P

A presto!
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 "[Excel] Creazione cartelle con VBA":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti