Excel VBA FileSystemObject (FSO)
VBA FileSystemObject (FSO) bekerja mirip dengan FileDialog, digunakan untuk mendapatkan akses ke file lain dari komputer yang sedang kita kerjakan. Kita juga bisa mengedit file-file ini artinya membaca atau menulis file tersebut. Menggunakan FSO kita dapat mengakses file, bekerja dengannya, memodifikasi file dan folder. FSO adalah alat API penting yang dapat kita akses dengan VBA. Sebagai bagian dari proyek VBA, kami mungkin perlu mengakses beberapa folder dan file di komputer kami untuk menyelesaikan pekerjaan.
Kita dapat melakukan banyak tugas dengan menggunakan FSO seperti "untuk memeriksa apakah folder tersebut tersedia atau tidak," Membuat folder atau file baru, mengganti nama folder atau file yang ada, mendapatkan daftar semua file di folder, dan juga nama subfolder . Akhirnya, kita dapat menyalin file dari satu lokasi ke lokasi lain.
Meskipun ada fungsi lain yang tersedia untuk bekerja dengan folder dan file, FSO adalah metode termudah untuk bekerja dengan folder dan file dengan menjaga kode VBA tetap rapi dan lurus.
Kita dapat mengakses empat jenis Objek dengan FileSystemObject. Di bawah ini adalah itu.
- Drive: Dengan menggunakan objek ini, kita dapat memeriksa apakah drive yang disebutkan ada atau tidak. Kita bisa mendapatkan nama jalur, jenis tujuan, dan ukuran perusahaan.
- Folder: Objek ini memungkinkan kita untuk memeriksa apakah folder tertentu ada atau tidak. Kita dapat membuat, menghapus, memodifikasi, menyalin folder menggunakan objek ini.
- File: Objek ini memungkinkan kita untuk memeriksa apakah file tertentu ada atau tidak. Kami dapat membuat, menghapus, memodifikasi, menyalin file menggunakan objek VBA ini.
- Text Stream: Objek ini memungkinkan kita untuk membuat atau membaca file teks.
Semua metode di atas memiliki metode mereka untuk bekerja. Berdasarkan kebutuhan kami, kami dapat memilih metode setiap objek.

Bagaimana cara mengaktifkan FileSystemObject?
Itu tidak mudah diakses di VBA. Karena mengakses file dan folder adalah tugas luar excel, kita perlu mengaktifkan FileSystemObject. Untuk mendorong, ikuti langkah-langkah di bawah ini.
Langkah # 1: Buka Alat> Referensi.

Langkah # 2 - Pilih opsi 'Microsoft Scripting Runtime'
Gulir ke bawah dan pilih opsi 'Microsoft Scripting Runtime'. Setelah memilih opsi, klik OK.

Sekarang kita dapat mengakses FileSystemObject (FSO) di VBA.
Buat Instance dari FileSystemObject
Setelah opsi 'Microsoft Scripting Runtime' diaktifkan dari perpustakaan Objek, kita perlu membuat Objek Sistem File (FSO) melalui pengkodean.
Untuk membuat instance, pertama-tama deklarasikan variabel sebagai FileSystemObject.

Seperti yang dapat kita lihat, FileSystemObject muncul di daftar IntelliSense di VBA. Ini tidak akan tersedia sebelum kami mengaktifkan 'Microsoft Scripting Runtime.'
Karena FSO adalah sebuah objek, kita perlu mengaturnya untuk membuat sebuah instance baru.

Sekarang kita dapat mengakses semua opsi FSO (FileSystemObject).

Contoh untuk menggunakan VBA FileSystemObject
Contoh # 1 - Temukan Total Ruang Drive
Kode di bawah ini akan memberikan total ruang drive.
Kode:
Sub FSO_Example1 () Redupkan MyFirstFSO Sebagai FileSystemObject Set MyFirstFSO = New FileSystemObject Redupkan Nama Drive Sebagai Drive Redupkan DriveSpace Sebagai Set Ganda DriveName = MyFirstFSO.GetDrive ("C:") 'Buat objek drive baru DriveSpace = DriveName.FreeSpace' Ini akan mendapatkan ruang kosong dari drive "C" DriveSpace = DriveSpace / 1073741824 'Ini akan mengubah ruang kosong menjadi GB DriveSpace = Round (DriveSpace, 2)' Bulatkan total ruang MsgBox "Drive" & DriveName & "has" & DriveSpace & "GB" End Sub

Break Down of the Code.
Pertama, kami membuat instance FSO.
Redupkan MyFirstFSO Sebagai FileSystemObject Set MyFirstFSO = New FileSystemObject
Selanjutnya, kami telah mendeklarasikan dua variabel.
Redupkan DriveName Sebagai Drive Redupkan DriveSpace Sebagai Double
Karena DriveName adalah variabel Objek, kita perlu menyetel ini ke FSO salah satu metode FSO. Karena kami membutuhkan karakteristik drive, kami telah menggunakan opsi Get Drive dan menyebutkan nama drive.
Setel DriveName = MyFirstFSO.GetDrive ("C:")
Untuk variabel lain, DriveSpace, kami akan menetapkan metode ruang kosong dari drive yang kami akses.
DriveSpace = DriveName.FreeSpace
Sampai sekarang, persamaan di atas dapat memberi kita ruang kosong dari drive "C." Jadi untuk menunjukkan hasil dalam GB, kami telah membagi ruang terbuka dengan 1073741824
DriveSpace = DriveSpace / 1073741824
Selanjutnya, kita akan membulatkan angkanya.
DriveSpace = Bulat (DriveSpace, 2)
Terakhir, tunjukkan hasilnya di Kotak Pesan.
MsgBox "Drive" & DriveName & "memiliki" & DriveSpace & "GB"
When we run the code manually or through shortcut key F5, then in the message box, we will get the free space of the drive “C.”

So, in my computer Drive C has 216.19 GB of free space memory.
Example #2 - Check Whether the Folder Exists or Not
To check whether the particular folder exists or not, use the below code.
If the mentioned folder is available, it will show us the message box as “The Mentioned Folder is Available.” If not, it will show the VBA message box as “The Mentioned Folder is Not Available.”
Code:
Sub FSO_Example2() Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject If MyFirstFSO.FolderExists("D:Excel FilesVBAVBA Files") Then MsgBox "The Mentioned Folder is Available" Else MsgBox "The Mentioned Folder is Not Available" End If End Sub

Jalankan kode ini melalui tombol Shortcut excel F5 atau secara manual, lalu lihat hasilnya.

Contoh # 3 - Periksa Apakah File Ada atau Tidak
Kode di bawah ini akan memeriksa apakah file yang disebutkan tersedia atau tidak.
Kode:
Sub FSO_Example3 () Redupkan MyFirstFSO Sebagai FileSystemObject Set MyFirstFSO = New FileSystemObject Jika MyFirstFSO.FileExists ("D: Excel Files VBA VBA Files Testing File.xlsm") Kemudian MsgBox "File Yang Disebutkan Tersedia" Else MsgBox "Yang Disebutkan File Tidak Tersedia "End If End Sub

Jalankan kode ini secara manual atau menggunakan tombol F5, lalu lihat hasilnya.
