V MAPI IMAM DATOTEKE:
npr.
miha - racko
joze - kisel
Datoteke bi zelel preimenovati tako, da vzame samo besedo do alineje (-)
Kako bi to reši z makrojem VBA
Hvala
IMENA DATOTEK
Pozdravljeni,
VBA nima ravno veliko orodij za delo z datotekami, zato je makro malce daljši, kot sem (tud sam!) pričakoval, je pa dobro komentiran, tako da ga boste lahko razumeli:
PS: Kot je vidno, mapo, kjer imete datoteke, določite v tretji vrstici makra!
VBA nima ravno veliko orodij za delo z datotekami, zato je makro malce daljši, kot sem (tud sam!) pričakoval, je pa dobro komentiran, tako da ga boste lahko razumeli:
Koda: Izberi vse
' www.matjazev.net
' 29.03.2006
Sub PreimenujDatoteke()
Dim Mapa As String
Mapa = "c:\help"
Dim Datoteka As String
Datoteka = Dir(Mapa & "\*.*", vbNormal)
Do While Datoteka <> ""
' če je v imenu pomišljaj potem jo preimenujem
If (InStr(1, Datoteka, "-") > 0) Then
' določim končnico
Dim Koncnica
If (InStrRev(Datoteka, ".") > 0) Then
Koncnica = "." & Right(Datoteka, Len(Datoteka) - InStrRev(Datoteka, "."))
Else
Koncnica = ""
End If
' iz imena izluščim vse do prve alineje in dodam končnico
Dim NovoIme
NovoIme = Left(Datoteka, InStr(1, Datoteka, "-") - 1) + Koncnica
MsgBox Datoteka & " -> " & NovoIme
' preimenujem datoteko
Name Mapa & "\" & Datoteka As Mapa & "\" & NovoIme
End If
' vzamem naslednjo datoteko
Datoteka = Dir
Loop
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator