Vba'da klasör nasıl kopyalanır (örnekle)
Bir klasörü bir konumdan diğerine kopyalamak için VBA’daki CopyFolder yöntemini kullanabilirsiniz.
Bu yöntemi pratikte kullanmanın yaygın bir yolu:
Sub CopyMyFolder()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source folder and destination folder
SourceFolder = "C:\Users\bob\Documents\current_data"
DestFolder = "C:\Users\bob\Desktop\"
'copy folder
FSO.CopyFolder Source:=SourceFolder, Destination:=DestFolder
End Sub
Bu özel makro, current_data adlı klasörü Belgeler klasöründen Masaüstüne kopyalar.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: VBA kullanarak klasörler nasıl kopyalanır
Diyelim ki Documents adında bir klasörde current_data adında bir klasörümüz var:
Şimdi bu klasörün tamamını şu anda iki klasör içeren Desktop’a kopyalamak için VBA’yı kullanmak istediğimizi varsayalım:
Bu dosyayı kopyalamak için VBA’yı kullanmadan önce, ilk olarak VB düzenleyicisinde Microsoft Scripting Runtime’ı etkinleştirmeliyiz.
Bunu yapmak için VB düzenleyicisini açın, ardından Araçlar’a ve ardından Referanslar’a tıklayın:
Görüntülenen yeni pencerede Microsoft Scripting Runtime’ı görene kadar aşağı kaydırın ve yanındaki kutuyu işaretleyin. Daha sonra Tamam’ı tıklayın.
Daha sonra klasörü kopyalamak için aşağıdaki makroyu oluşturabiliriz:
Sub CopyMyFolder()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source folder and destination folder
SourceFolder = "C:\Users\bob\Documents\current_data"
DestFolder = "C:\Users\bob\Desktop\"
'copy folder
FSO.CopyFolder Source:=SourceFolder, Destination:=DestFolder
End Sub
Bu makro çalıştırıldığında, current_data adlı klasör Belgeler klasöründen masaüstüne kopyalanacaktır:
Orijinal current_data klasörü de Belgeler klasöründe kalacaktır.
Not : CopyFolder yöntemine ilişkin tüm belgeleri burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA Kullanarak Klasörler Nasıl Oluşturulur
VBA kullanarak klasörler nasıl silinir
VBA kullanarak bir klasördeki dosyalar nasıl listelenir