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:
Conteggia i file presenti nella cartella e salva il risultato 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
Il codice per estrapolare l'estensione dal nome del file è questocodice: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
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.codice:Dim Estensione As Long Estensione = InStrRev(File1.FileName, ".") Mid$(File1.FileName, Estensione)
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

Rispondi quotando