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

[Excel 2007]- Copia di cartelle Opzioni
aetio
Inviato: Tuesday, September 03, 2013 11:39:57 AM

Rank: AiutAmico

Iscritto dal : 5/10/2010
Posts: 723
Ciao,
vorrei trasformare questa macro che copia i file da una cartella in un'altra

Sub CopyAllFiles()
Dim eZio As Object
Set eZio = CreateObject("Scripting.FileSystemObject")
eZio.CopyFile "C:\Documets and Settings\User\Documenti\LAVORO_1\ITALIA\PIEMONTE\*.xlsm", "C:\Documets and Settings\User\Documenti\LAVORO_1\ITALIA\PIEMONTE\ANALISI_PERIODICHE", True
'MsgBox ("ok fatto")
End Sub

in modo che anziché copiare i file della cartella PIEMONTE copi le cartelle ivi contenute nella cartella ANALISI_PERIODICHE.
Ovviamente sono completamente incapace di scriverla :-))
Grazie infinite e buona giornata
eZio




(Nota: la macro mi fu preparata tempo fa ad hoc da a10n11)
Sponsor
Inviato: Tuesday, September 03, 2013 11:39:57 AM

 
a10n11
Inviato: Tuesday, September 03, 2013 3:48:09 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
non mi è chiara la domanda.
Vuoi che vengano create solo le subdirectory nella cartella di destinazione oppure vuoi copiare le subdirectory con tutto il loro contenuto nella
cartella di destinazione?
saluti
Giap

aetio
Inviato: Tuesday, September 03, 2013 3:56:28 PM

Rank: AiutAmico

Iscritto dal : 5/10/2010
Posts: 723
Ciao,
a10n11 ha scritto:

Vuoi che vengano create solo le subdirectory nella cartella di destinazione oppure vuoi copiare le subdirectory con tutto il loro contenuto nella cartella di destinazione?

La seconda ipotesi: le cartelle con tutto il loro contenuto debbono essere copiate nella cartella di destinazione.
(solo le cartelle- con dentro le loro subdirectory- non anche i file *.xlsm che la cartella PIEMONTE contiene insieme alle cartelle)
Grazie assai,
eZio
a10n11
Inviato: Tuesday, September 03, 2013 7:23:05 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
sperando di aver capito,
prova qualcosa di simile:

Sub Copy_Subfolder_Files()
Call Analizza("C:\Documets and Settings\User\Documenti\LAVORO_1\ITALIA\PIEMONTE", _
"C:\Documets and Settings\User\Documenti\LAVORO_1\ITALIA\PIEMONTE\ANALISI_PERIODICHE")
End Sub



Sub Analizza(path_Orig As String, path_Dest As String)
Dim Orig_Subdir, Dest_Subdir, fs
Set fs = CreateObject("Scripting.FileSystemObject")
For Each Orig_Subdir In fs.GetFolder(path_Orig).SubFolders
If Orig_Subdir.Name <> "ANALISI_PERIODICHE" Then
Set Dest_Subdir = fs.CreateFolder(path_Dest & "\" & Orig_Subdir.Name)
Call Analizza(Orig_Subdir.Path, Dest_Subdir.Path)
End If
Next
For Each file In fs.GetFolder(path_Orig).Files
If path_Orig <> "C:\Documets and Settings\User\Documenti\LAVORO_1\ITALIA\PIEMONTE" Then
FileCopy file.Path, path_Dest & "\" & file.Name
End If
Next
End Sub



praticamente analizza le subdir della cartella origine, le crea nuove nella cartella di destinazione e vi copia i file contenuti all'interno
Per sicurezza lavora su delle copie

saluti
Giap

aetio
Inviato: Tuesday, September 03, 2013 11:40:34 PM

Rank: AiutAmico

Iscritto dal : 5/10/2010
Posts: 723
Ciao,
è semplicemente... PERFETTA!! (come sempre del resto)
Grazie infinite, non sapevo proprio come risolvere questo problema ;-))
eZio
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.