Ciao a tutti.
Ho un problema con la creazione di una cartella: nel form principale del mio programma ho quattro pulsanti, uno dei quali si chiama "ELABORA FILE". Questo comando serve appunto per elaborare i file (PDF) che si trovano in una cartella. Nello specifico si creano due sottocartelle ("BOLLE" e "CERT") che contengono rispettivamente i pdf relativi alle bolle e i pdf relativi ai certificati. Al termine dell'elaborazione, una volta inseriti i file nel database, elimino le due sottocartelle e ritorno al form principale (quello con i quattro pulsanti). E fin qui tutto ok! Il problema è questo: se chiudo il programma e lo faccio ripartire, tutto bene. Se invece dalla finestra principale clicco di nuovo sul pulsante "ELABORA FILE", al momento della creazione delle sottocartelle mi dà errore: "Permesso negato".
Qualcuno sa spiegarmi il perchè?
Grazie mille!
Codice che genera errore:
codice:
'Se Tipo = "QRCERT.V1", sposto il file nella cartella "Cert", altrimenti lo sposto nella cartella "Bolle"...
'Non elimino gli eventuali file senza QRCode...
If Tipo = "QRCERT.V1" Then
contCert = contCert + 1
If contCert = 1 Then
'Creo cartella "Cert"....
If Fso.FolderExists(strCartellaCert) = False Then
cartellaCert.CreateFolder (strCartellaCert)
End If
End If
Fso.CopyFile nomeAssFile, strCartellaCert
'Elimino i file dalla cartella di default...
Set fsoFiles = Fso.GetFolder(txtFile.Text).Files
Fso.DeleteFile (nomeAssFile)
ElseIf Tipo = "QRBOLLA.V1" Then
contBolle = contBolle + 1
If contBolle = 1 Then
'Creo cartella "Bolle"...
If Fso.FolderExists(strCartellaBolle) = False Then
cartellaBolle.CreateFolder (strCartellaBolle)
End If
End If
Fso.CopyFile nomeAssFile, strCartellaBolle
'Elimino i file dalla cartella di default...
Set fsoFiles = Fso.GetFolder(txtFile.Text).Files
Fso.DeleteFile (nomeAssFile)
End If
Next
In particolare le due seguenti righe:
codice:
cartellaCert.CreateFolder (strCartellaCert)
codice:
cartellaBolle.CreateFolder (strCartellaBolle)
Codice che uso per eliminare le due sottocartelle alla fine dell'elaborazione dei file:
codice:
If cmdSalvaBolla.Value = True Then 'Se è stato eseguito il comando "Salva"...
Dim Fso As New FileSystemObject
Dim CartellaBase As Folder
Dim FsoFolder As Folder
Set CartellaBase = Fso.GetFolder(strCartellaDefault)
For Each FsoFolder In CartellaBase.SubFolders
Debug.Print FsoFolder.Name
If FsoFolder.Name = "Bolle" Then
FsoFolder.Delete
End If
Next
End If
codice:
If cmdSalva.Value = True Then 'Se è stato eseguito il comando "Salva"...
Dim Fso As New FileSystemObject
Dim CartellaBase As Folder
Dim FsoFolder As Folder
Set CartellaBase = Fso.GetFolder(strCartellaDefault)
For Each FsoFolder In CartellaBase.SubFolders
Debug.Print FsoFolder.Name
If FsoFolder.Name = "Cert" Then
FsoFolder.Delete
End If
Next
End If