Vba kullanarak dosyalar nasıl taşınır (örnek ile)


Bir dosyayı bir klasörden diğerine taşımak için VBA’daki MoveFile yöntemini kullanabilirsiniz.

Bu yöntemi pratikte kullanmanın yaygın bir yolu:

 Sub MoveMyFile()

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
    
'specify source file and destination file
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\soccer_data.txt"

'move file
FSO.MoveFile Source:=SourceFile, Destination:=DestFile

End Sub

Bu özel makro, futbol_data.txt adlı dosyayı Some_Data_1 adlı bir klasörden Some_Data_2 adlı bir klasöre taşır.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: Dosyalar VBA kullanılarak nasıl taşınır?

Diyelim ki masaüstümüzdeki Some_Data_1 adlı bir klasörde futbol_data.txt adında bir metin dosyamız var:

Şimdi bu metin dosyasını masaüstümüzde şu anda iki metin dosyası içeren Some_Data_2 adlı başka bir klasöre taşımak için VBA’yı kullanmak istediğimizi varsayalım:

Bu dosyayı taşımak 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 dosyayı taşımak için aşağıdaki makroyu oluşturabiliriz:

 Sub MoveMyFile()

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
    
'specify source file and destination file
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\soccer_data.txt"

'move file
FSO.MoveFile Source:=SourceFile, Destination:=DestFile

End Sub

Bu makro çalıştırıldığında futbol_data.txt adlı dosya Some_Data_1 klasöründen Some_Data_2 klasörüne taşınacaktır:

Tüm dosyaları bir klasörden diğerine taşımak istiyorsanız aşağıdaki sözdizimini kullanabileceğinizi unutmayın:

 Sub MoveMyFile()

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
    
'specify source and destination folders
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\*"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\"

'move all files from source folder to destination folder
FSO.MoveFile Source:=SourceFile, Destination:=DestFile

End Sub

Bu özel makro, tüm dosyaları Some_Data_1 klasöründen Some_Data_2 klasörüne taşıyacaktır.

Not : MoveFile yönteminin tam belgelerini 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 dosyalar nasıl silinir

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir