IMENA DATOTEK

Pomoč pri izdelavi makrov
Odgovori
slavkomoharic
Prispevkov: 5
Pridružen: Pe Mar 17, 2006 2:00 pm

IMENA DATOTEK

Odgovor Napisal/-a slavkomoharic »

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
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

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:

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
PS: Kot je vidno, mapo, kjer imete datoteke, določite v tretji vrstici makra!
lp,
Matjaž Prtenjak
Administrator
Odgovori