VBA Kopyalama Dosyası / Çalışma Kitabı

VBA, aşağıdakileri kullanarak bir dosyayı kopyalamanıza izin verir: DosyaSistemNesnesi. Bu öğreticide, belirli bir dosyayı nasıl kopyalayacağınızı ve yeniden adlandıracağınızı öğreneceksiniz.

Bir dosyayı nasıl yeniden adlandıracağınızı öğrenmek istiyorsanız, şu bağlantıya tıklayabilirsiniz: VBA Dosyasını Yeniden Adlandır

Bir Dosyayı / Çalışma Kitabını Kopyala

Mevcut dosyanın nasıl kopyalanacağını göstereceğiz Örnek dosya 1.xlsx klasörde VBA Klasörü. Bu örnekte, dosyayı yeniden adlandırmayacağız, sadece kopyalayıp üzerine yazacağız. Klasör şu anda yalnızca bu dosyaya sahip:

Resim 1. C:\VBA Klasörü klasöründeki dosya

İşte kod:

12345 Obje Olarak Dim ofFSOSet oFSO = CreateObject("Scripting.FileSystemObject")Çağrı oFSO.CopyFile("C:\VBA Klasörü\Örnek dosya 1.xlsx", "C:\VBA Klasörü\", Doğru)

İlk önce sınıfın nesnesini oluşturmanız gerekir. Scripting.FileSystemObject:

1 Set oFSO = CreateObject("Scripting.FileSystemObject")

O zaman yöntemi kullanabiliriz Dosya kopyalamak:

1 Çağrı oFSO.CopyFile("C:\VBA Klasörü\Örnek dosya 1.xlsx", "C:\VBA Klasörü\", Doğru)

Yöntemin ilk parametresi kaynak yolu, ikincisi ise hedef yoludur. Üçüncü parametre üzerine yaz. Aynı kaynak ve hedef yollara sahip olduğumuz için, üzerine yaz Doğru veya Yanlış'a. Bu örnekte, orijinal dosyanın üzerine yazıldığı anlamına gelen True koyduk.

Şimdi aynı hedeflere sahipsek, ancak Üzerine Yaz'ı Yanlış olarak ayarlarsak ne olacağına bakalım. Sadece kodun bu satırını değiştirmeniz gerekiyor:

1 Çağrı oFSO.CopyFile("C:\VBA Klasörü\Örnek dosya 1.xlsx", "C:\VBA Klasörü\", Doğru)

Sonuç olarak, Resim 2'de gördüğünüz gibi bir hata alacaksınız:

Resim 2. Dosyayı kopyalarken hata

Dosyayı Kopyala ve Yeniden Adlandır

Bir dosyayı kopyalarken başka bir olası seçenek de onu yeniden adlandırmaktır. Bir dosyayı kopyalamaya benzer, ancak şimdi sadece farklı bir adla hedef yolu ayarlamanız gerekiyor. İşte kod:

12345 Obje Olarak Dim ofFSOSet oFSO = CreateObject("Scripting.FileSystemObject")Çağrı oFSO.CopyFile("C:\VBA Klasörü\Örnek dosya 1.xlsx", "C:\VBA Klasörü\Örnek dosya Kopyala.xlsx")

Kodun son satırından da görebileceğiniz gibi, dosyayı kopyalamak istiyoruz. Örnek dosya 1.xlsx aynı klasörde ve adlandırın Örnek dosya Copy.xlsx:

1 Çağrı oFSO.CopyFile("C:\VBA Klasörü\Örnek dosya 1.xlsx", "C:\VBA Klasörü\Örnek dosya Kopyala.xlsx")

Şimdi VBA Klasöründe iki dosyamız var. Kodun sonucu Resim 3'tedir:

Resim 3. Dosyayı kopyalayın ve yeniden adlandırın

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave