Bagaimana cara menyalin file excel menggunakan vba?
Anda bisa menggunakan kode VBA untuk menyalin file (workbook) dari satu folder ke folder lain atau Anda juga bisa menyalin file ke folder yang sama menggunakan nama yang berbeda.
Dalam tutorial ini, kita akan melihat cara menulis kode dua arah. Di sini Anda perlu menggunakan FileSystemObject yang menyediakan akses ke file dan folder di Windows.
Salin file Excel ke folder terpisah
Sub myMacro() Dim myFile As Object Set myFile = CreateObject("Scripting.FileSystemObject") Call myFile.CopyFile("C:\Users\admin\Desktop\folder\test-file.xlsx", "C:\Users\admin\Desktop\", True) End Sub
Untuk menulis kode di atas:
- Pertama, Anda perlu mendeklarasikan variabel.
- Selanjutnya, Anda perlu menentukan FileSystemObject ke variabel yang baru saja Anda tentukan.
- Selanjutnya, Anda perlu mengatur lokasi sumber dalam metode “CopyFile”.
- Terakhir, atur lokasi folder tempat Anda ingin menempelkannya.
Saat Anda menjalankan makro ini , makro ini akan menyalin “file teks” buku kerja Excel dari folder dan menempelkannya ke lokasi yang kami tentukan dalam kode.
Salin file dan ganti namanya
Saat Anda mencoba menyalin dan menempelkan file di lokasi yang sama, ada kemungkinan besar VBA akan menunjukkan kesalahan kepada Anda. Dalam situasi ini, cara terbaik adalah mengganti nama file saat menyalinnya.
Call myFile.CopyFile("C:\Users\admin\Desktop\folder\test-file.xlsx", "C:\Users\admin\Desktop\", True)
Di atas adalah kode baris yang saya gunakan pada metode sebelumnya. Sekarang Anda hanya perlu melakukan perubahan pada baris ini. Untuk lokasi tujuan, Anda perlu menambahkan file yang ingin Anda gunakan untuk file baru.
Call myFile.CopyFile("C:\Users\admin\Desktop\folder\test-file.xlsx", "C:\Users\admin\Desktop\folder\test-file1.xlsx ", True)
Saat Anda menjalankan kode ini, kode ini akan menyalin file (file-teks.xlsx) dari folder dan menyalinnya ke folder yang sama dengan nama berbeda (file-uji1.xlsx).
Dim myFile As Object Set myFile = _ CreateObject("Scripting.FileSystemObject") Call myFile.CopyFile("C:\Users\admin\Desktop\folder\test-file.xlsx", _ "C:\Users\admin\Desktop\folder\test-file1.xlsx", True) End Sub