› Excel e gli applicativi Microsoft Office › Spostare file da cartella a sottocartella se non esistono
-
AutoreArticoli
-
Ciao,
di seguito il mio quesito:
Ho una cartella "madre" dove sono contenuti un insieme di file ed un'altra cartella "figlio", che rappresenta un sottoinsieme della precedente.
Vorrei che, nel caso in cui nella cartella figlio non risultino presenti alcuni file della cartella madre, venissero copiati da quest'ultima ed incollati nella cartella figlio
Per fare un esempio:
La cartella madre contiene i file: mele.txt, pere.txt, banane.txt, lamponi.txt, fragole.txt
La cartella figlio contiene i file:mele.txt, pere.txt
La macro a questo punto copia i file dalla cartella madre banane.txt, lamponi.txt, fragol.txt e li incolla nella cartella figlio
Ho usato le estensioni .txt solo come esempio. Non dovrebbe essere necessario un esempio perchè sono solo file dentro cartelle
Grazie in anticipo per l'aiuto
prova questa
Sub OpenFilesSubFolder()Dim destFolderName As StringsourceFolderName = "F:\download\A"destFolderName = "F:\download\A\B\"Set objFSO = CreateObject("Scripting.FileSystemObject")Set Folder = objFSO.GetFolder(sourceFolderName)For Each File In Folder.FilesIf Dir(destFolderName & File.Name) = "" Then FileCopy Folder.Path & "\" & File.Name, destFolderName & File.NameNextMsgBox ("fatto")End Suboltre a quella postata da Patel, che saluto, puoi provere questa
Sub copy_data1() Dim f As Object, wbk1 As Workbook, a As Object Application.ScreenUpdating = False Set wbk1 = ThisWorkbook cartella = ThisWorkbook.Path & "\madre\" filefogli1 = ThisWorkbook.Path & "\madre\figlio" For Each f In CreateObject("Scripting.FileSystemObject").GetFolder(cartella).Files For Each a In CreateObject("Scripting.FileSystemObject").GetFolder(filefogli1).Files If f.Name <> a.Name Then f.Copy filefogli1 & "\" End If Next Next Application.ScreenUpdating = True End Subgrazie ad entrambi per le risposte.
@patel l'ho testata e funziona perfettamente.
@albatros54 ho sostituito i nomi delle cartelle ma poi da "errore di sintassi" presso
If f.Name <> a.Name Then -
AutoreArticoli
