Ciao a tutti! Sto lavorando a un programma che mi consenta di rinominare tutti i file presenti in una cartella con un numero crescente a partire da quello scritto in una TextBox preservando l'estensione. Finora le ho provate tutte ma non ho cavato un ragno dal buco a parte far conteggiare i file ed estrapolare l'estensione.
Il codice non funzionante che ho usato è questo:
Rinomina i file con un numero crescente a partire da quello scritto nella casella di testo fino a quello memorizzato nella variabile globale ind:
codice:
Dim ind as Integer
Private Sub cmdRinFile_Click()
On Error Resume Next
Dim Estensione As Long
Dim i As Integer
Dim j As Integer
Estensione = InStrRev(File1.FileName, ".")
For i = txtNumber.Text To ind
For i = 1 To ind
For j = Count To ind
Name Dir1.Path & "\" & File1.FileName As Dir1.Path & "\" & File1.List(i) & Mid$(File1.FileName, Estensione)
File1.Refresh
Next j
lblOk.Caption = "Ok!"
Next i
End Sub
Conteggia i file presenti nella cartella e salva il risultato nella variabile globale ind:
codice:
Private Sub Dir1_Change()
Dim entry As String
Dim ThePath As String
File1.Path = Dir1.Path
For ind = 0 To File1.ListCount - 1
entry = ThePath + File1.List(ind)
Next ind
End Sub
Il codice per estrapolare l'estensione dal nome del file è questo
codice:
Dim Estensione As Long
Estensione = InStrRev(File1.FileName, ".")
Mid$(File1.FileName, Estensione)
PS: a pensarci bene non è una buona idea far finire la fase di rinomina dei file in base al valore salvato nella variabile, perché se nella cartella ci sono 10 file e nella TextBox scrivo "4" 6 file rimarrebbero con il nome originale.
Cosa mi suggerite per risolvere il problema?
Grazie mille!
EDIT: Ho fatto un pò di confusione con il codice mettendone la versione vecchia con il FileListBox con quella nuova che usa il ListBox. Ora è a posto