Ciao vicky,
Penso che sia il caso di semplificare un pò tutto.
Nel tuo programma devi inserire all'avvio il seguente codice:
codice:
'Progetto>Riferimenti>Microsoft Scripting Runtime
Dim fso As Variant
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFolder "D:\Test3", "D:\TestXX"
Set fso = Nothing
Ove D:\Test3 è l'origine e D:\TestXX è la destinazione. Con queste poche righe riesci a copiare sia la cartella, sia tutti i files che contiene (l'ho provato).
In particolare la tua "origine" sarà il pacchetto di supporto, ove manualmente avrai inserito le due cartelle con tutti i files - la destinazione sarà l'HD ove gira il tuo programma App.Path & "\" & "DATI\...."
Naturalmente questo codice deve avere una protezione, nel senso che se le cartelle ed i files sono già stati copiati non deve essere eseguito, a questo scopo ad esempio potresti fare:
codice:
'Controlla se esiste la cartella DATI, altrimenti la copia:
Dim FSO As Variant
Set FSO = CreateObject("Scripting.FileSystemObject")
If (FSO.FolderExists(App.Path & "\" & "DATI")) = False Then
With FSO
.CopyFolder "D:\Test3", "D:\TestXX"
.CopyFolder "D:\Test4", "D:\TestXXX"
End With
strNameFold = FSO.GetFolder(App.Path & "\" & "DATI")
MsgBox "La cartella DATI ed i relativi files, sono state" & vbCr _
& "create con successo in " & strNameFold & ".", vbInformation, "Applicazioni ..."
Spero di non aver dimenticato nulla....