Scusate l'assenza, non mi sono dimenticato di voi.
Combinando i precedenti suggerimenti sono arrivato a una soluzione:
codice:
Private Sub Command1_Click()
Dim est As String
Dim Estensione As String
Dim num As Integer
Dim sNomeIntero As String
num = CInt(txtNumber.Text)
sNomeIntero = Dir(Dir1.Path & "\*.*")
While sNomeIntero <> vbNullString
Estensione = InStrRev(sNomeIntero, ".")
est = Mid$(sNomeIntero, Estensione)
Name Dir1.Path & "\" & sNomeIntero As Dir1.Path & "\" & num & est
num = num + 1
sNomeIntero = Dir()
Wend
End Sub
Solo che dà qualche problema: se i file da rinominare sono più di 100 inizialmente nessun problema. Se provo a rinominarli nuovamente (es: in una cartella ci sono 170 file correttamente rinominati e io nella TextBox scrivo '171') il programma inizia da 1000. Se provo a rimettere le cose a posto scrivendo '1' nella casella di testo il primo file effettivamente prende nome '1', il secondo '10', il terzo '100' e tutti gli altri da '101' in poi.
Come risolvo questa cosa?
PS: per far accettare solo numeri dalla casella di testo uso questo codice, magari a qualcuno serve:
codice:
Private Sub txtNumber_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then
KeyAscii = 0
End If
End Sub