Mi scuso se rispondo solo ora, sono appena tornato da un viaggio di lavoro.
Ringrazio oregon e @Alex, che mi hanno dato l’opportunità di conoscere l’istruzione Dir$.
@Alex ha scritto:
Ora ti chiedo... se esegui quel codice 2 o 3 volte che succede...?
Il codice funziona apparentemente bene anche se eseguito più volte. Certo che devo selezionare manualmente i file.
Quale sarebbe o potrebbe essere l’insidia @Alex?
A vantaggio di tutti propongo il mio codice modificato secondo i suggerimenti di @Alex e adattato alle mie esigenze. Di fatto cambio il nome del file copiandolo. Ho solo cambiato l’istruzione CopyFile con FileCopy, perché con la prima mi dava errore.
Sub archivia() ' secondo @Alex
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim VarDest As String
Dim VarOrig As String
Dim VarEst As String
Dim VarPercorsoDA As String
Dim VarPercorsoA As String
Set db = CurrentDb
Set rs = db.OpenRecordset("documenti", dbOpenDynaset)
VarPercorsoDA = "<mi percorso DA>"
VarPercorsoA = "<mi percorso A>"
VarOrig = Dir$(VarPercorsoDA & "*")
Do While VarOrig <> ""
VarEst = Right$(VarOrig, Len(VarOrig) - InStrRev(VarOrig, "."))
rs.AddNew
VarDest = rs!IDDocumento & "." & VarEst
rs!estensione = VarEst
rs.Update
FileCopy VarPercorsoDA & VarOrig, VarPercorsoA & VarDest
VarOrig = Dir$
Loop
rs.Close
db.Close
End Sub
Ora funziona perfettamente e concordo sul fatto che è molto più lineare.
Grazie ancora