Buongiorno,
stò utilizzando un pulsante per la copia di files tra directory utilizzando la funzione dir in un ciclo condizionale do while. Il codice dovrebbe creare delle directory all'interno delle quali destinare i file. Riesco a creare solo il primo albero delle directory e a copia il primo file e poi si blocca li. Premetto che nella directory di origine ci sono attualemente 6 file.
Indico il codice:
Private Sub cmd_pos_signed_Click()
Dim strFileName, strFolder, strFolder_temp, strFileSpec As String
Dim Rapporto_Analisi, Nome_File, Categoria As String, tipo_camp As String, ente As String, Anno As String
strFolder = Environ$("USERPROFILE") & "\Rapporti_Prova\"
strFolder_temp = strFolder & "temp\"
strFileSpec = strFolder_temp & "*.pdf"
strFileName = Dir(strFileSpec)
If Len(strFileName) > 0 Then
Do While Len(strFileName) > 0
'----------------- crea l'albero delle directory che conterrà i report delle analisi-------------------
Nome_File = Mid$(strFileName, 1, Len(strFileName) - 4)
ente = DLookup("[Denominazione_Ente]", "Q_Protocollo", "Numero_Certificato='" & Nome_File & "'")
Categoria = DLookup("[Categoria]", "Q_Protocollo", "Numero_Certificato= '" & Nome_File & "'")
tipo_camp = DLookup("[Tipo_Campione]", "Q_Protocollo", "Numero_Certificato= '" & Nome_File & "'")
Anno = Year(DLookup("[Data_Certificato]", "Q_Protocollo", "Numero_Certificato= '" & Nome_File & "'"))
Rapporto_Analisi = Environ$("USERPROFILE") & "\Rapporti_Analisi"
If Len(Dir(Rapporto_Analisi, vbDirectory)) = 0 Then
MkDir (Rapporto_Analisi)
End If
Rapporto_Analisi = Rapporto_Analisi & "\" & ente
If Len(Dir(Rapporto_Analisi, vbDirectory)) = 0 Then
MkDir (Rapporto_Analisi)
End If
Rapporto_Analisi = Rapporto_Analisi & "\" & Categoria
If Len(Dir(Rapporto_Analisi, vbDirectory)) = 0 Then
MkDir (Rapporto_Analisi)
End If
Rapporto_Analisi = Rapporto_Analisi & "\" & tipo_camp
If Len(Dir(Rapporto_Analisi, vbDirectory)) = 0 Then
MkDir (Rapporto_Analisi)
End If
Rapporto_Analisi = Rapporto_Analisi & "\" & Anno
If Len(Dir(Rapporto_Analisi, vbDirectory)) = 0 Then
MkDir (Rapporto_Analisi)
End If
'----------------- crea l'albero delle directory che conterrà i report delle analisi-------------------
FileCopy strFolder_temp & strFileName, Rapporto_Analisi & "\" & strFileName ' copia i file"
strFileName = Dir
Loop
Else
MsgBox "Non sono presenti files firmati.", vbInformation
Exit Sub
End If
End Sub
Ringrazio in anticipo chi volesse aiutarmi.