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

Rispondi quotando
