Belirli İsme Sahip Dosyaları Klasörden Ayırmak

Katılım
16 Temmuz 2014
Mesajlar
74
Excel Vers. ve Dili
2010 TR
Altın Üyelik Bitiş Tarihi
13-04-2024
Merhabalar, sormak istediğim soru şu:
C://Resimler isimli bir dizinde görsellerimin olduğunu varsayalım. Yaklaşık 4bin tane.
Bu klasörde yer alan tüm JPG dosyalarının isimlerini bir excel sutunu (A:A) üzerinde topladım.
Daha sonra yine aynı sutunda sadece ihtiyacım olan dosyaların isimlerini bıraktım. İhtiyacım olmayan 3.5k satırı imha ettim.
Excel dosyamın A1 Sutununda isimleri kayıtlı olan 500 tane dosyayı C://Resimler klasöründen kopyalanıp C://Resimler//1 isimli klasöre (yada bambaşka bir dizindeki klasöre) yapıştırılmasını sağlayabilir miyim? Çok mu zordur?
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar, sormak istediğim soru şu:
C://Resimler isimli bir dizinde görsellerimin olduğunu varsayalım. Yaklaşık 4bin tane.
Bu klasörde yer alan tüm JPG dosyalarının isimlerini bir excel sutunu (A:A) üzerinde topladım.
Daha sonra yine aynı sutunda sadece ihtiyacım olan dosyaların isimlerini bıraktım. İhtiyacım olmayan 3.5k satırı imha ettim.
Excel dosyamın A1 Sutununda isimleri kayıtlı olan 500 tane dosyayı C://Resimler klasöründen kopyalanıp C://Resimler//1 isimli klasöre (yada bambaşka bir dizindeki klasöre) yapıştırılmasını sağlayabilir miyim? Çok mu zordur?
Merhaba,
Aşağıdaki kod işinizi görecektir, Mevcut ve hedef klasör isimlerini kendiniz düzenleyiniz.

Kod:
Sub Move_Folder()
    Dim r As Long
    Dim FSO As Object
    Dim SourcePath As String
    Dim DestPath As String
    Dim Fn As String

    SourcePath = "C:\Users\AAAA\"
    DestPath = "C:\Users\BBBB\"
   
    Set FSO = CreateObject("scripting.filesystemobject")

    If FSO.FolderExists(Left(SourcePath, Len(SourcePath) - 1)) = False Then
        MsgBox SourcePath & " doesn't exist"
        Exit Sub
    End If

With ActiveSheet
 For r = 2 To .Cells(.Rows.Count, "B").End(xlUp).Row

    Fn = .Cells(r, "A").Value
    FSO.MoveFile Source:=SourcePath & Fn, Destination:=DestPath
    
    Next r
End With

End Sub
 
Katılım
16 Temmuz 2014
Mesajlar
74
Excel Vers. ve Dili
2010 TR
Altın Üyelik Bitiş Tarihi
13-04-2024
Merhaba,
Aşağıdaki kod işinizi görecektir, Mevcut ve hedef klasör isimlerini kendiniz düzenleyiniz.

Kod:
Sub Move_Folder()
    Dim r As Long
    Dim FSO As Object
    Dim SourcePath As String
    Dim DestPath As String
    Dim Fn As String

    SourcePath = "C:\Users\AAAA\"
    DestPath = "C:\Users\BBBB\"
  
    Set FSO = CreateObject("scripting.filesystemobject")

    If FSO.FolderExists(Left(SourcePath, Len(SourcePath) - 1)) = False Then
        MsgBox SourcePath & " doesn't exist"
        Exit Sub
    End If

With ActiveSheet
For r = 2 To .Cells(.Rows.Count, "B").End(xlUp).Row

    Fn = .Cells(r, "A").Value
    FSO.MoveFile Source:=SourcePath & Fn, Destination:=DestPath
   
    Next r
End With

End Sub
Merhabalar, ilginize çok teşekkür ederim fakat makroyu çalıştırdığım zaman herhangi bir hata almıyor olmama rağmen bir sonuç elde edemiyorum.
A sutunundaki hücre değerlerini dosya ismi ile misal: IMG_3701 veya IMG_3701.JPG şeklinde de denesem de bir sonuç alamadım. Bir yerde hata mı yapıyorum acaba?
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar, ilginize çok teşekkür ederim fakat makroyu çalıştırdığım zaman herhangi bir hata almıyor olmama rağmen bir sonuç elde edemiyorum.
A sutunundaki hücre değerlerini dosya ismi ile misal: IMG_3701 veya IMG_3701.JPG şeklinde de denesem de bir sonuç alamadım. Bir yerde hata mı yapıyorum acaba?
Sanırım B sütunu boş, Aşağıdaki satırda sütun bilgisini A olarak düzenleyebilirsiniz.

Kod:
For r = 2 To .Cells(.Rows.Count, "B").End(xlUp).Row
Kod:
For r = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
 
Üst