Thủ Thuật

Cách kích hoạt FileSystemObject trong VBA – Xfaster

FSO (FileSystemObjec) là một trong những công cụ mạnh mẽ chuyên dùng để xử lý những vấn đề liên quan đến Drive, Folders và Files, bài viết dưới đây, Xfaster sẽ tập trung hướng dẫn bạn cách kích hoạt FileSystemObject trong VBA nhé.

Mặc định thì FileSystemObject không có sẵn trong VBA Excel. Trường hợp nếu bạn đang giải quyết và xử lý các file và thư mục ở bên ngoài ứng dụng Excel thì bước tiên phong tất cả chúng ta cần làm là tạo một tham chiếu đến thư viện chưa các đối tượng người tiêu dùng này ( drive, file, thư mục ).

Cách kích hoạt FileSystemObject trong VBA - Xfaster 1

Cách để kích hoạt và bắt đầu sử dụng FileSystemObject trong VBA

Hướng dẫn kích hoạt FileSystemObject trong VBA

Có 2 cách để bạn kích hoạt và mở màn sử dụng FileSystemObject trong VBA :

Cách 1: Thiết lập tham chiếu đến Microsoft Scripting Runtime Library (Scrrun.dll).

Cách 2: Tạo một đối tượng để tham chiếu đến thư viện từ mã.

Mặc dù cả 2 giải pháp đều hoạt động giải trí tuyệt vời và hoàn hảo nhất, tuy nhiên Xfaster khuyến nghị bạn nên vận dụng cách tiên phong.

Lưu ý: Khi kích hoạt FileSystemObject, chúng ta có thể truy cập tất cả các đối tượng trong đó, bao gồm FileSystemObject, Drive, Files, Folders…. .

1. Thiết lập tham chiếu đến Microsoft Scripting Runtime Library (Scrrun.dll)

Khi tạo một tham chiếu đến thư viện Scripting Runtime Library, tất cả chúng ta được cho phép VBA truy vấn toàn bộ các thuộc tính và phương pháp của file và thư mục. Sau khi thực thi xong, tất cả chúng ta hoàn toàn có thể tham chiếu các đối tượng người dùng file / thư mục / driver ngay bên trong VBA ( giống như tất cả chúng ta hoàn toàn có thể tham chiếu các ô, bảng tính, … ). Thực hiện theo các bước dưới đây để tạo tham chiếu đến Microsoft Scripting Runtime Library :

Bước 1: Trong trình chỉnh sửa VB, click chọn Tools.

tim hieu filesystemobject fso trong vba 2

Bước 2: Click chọn References.

tim hieu filesystemobject fso trong vba 3

Bước 3: Trong hộp thoại References, cuộn qua các tham chiếu có sẵn, tìm và đánh tích chọn tùy chọn Microsoft Scripting Runtime.

tim hieu filesystemobject fso trong vba 4

Bước 4: Click chọn OK.

Các bước trên đây để cho phép tham chiếu các đối tượng người dùng FSO từ VBA.

2. Tạo một biến thể của FileSystemObjec trong mã

Sau khi đã thiết lập tham chiếu đến thư viện Scripting FileSystemObject, bước tiếp theo tất cả chúng ta cần làm là tạo một biến thể của đối tượng người tiêu dùng FSO trong mã. Sau khi đã tạo xong, tất cả chúng ta hoàn toàn có thể sử dụng biến thể này trong VBA. Dưới đây là mã thiết lập biến đối tượng người tiêu dùng MyFSO làm đối tượng người dùng FileSystemObject :

Sub CreatingFSO()

Dim MyFSO As FileSystemObject Set MyFSO = New FileSystemObject End Sub Trong đoạn mã trên, tiên phong tất cả chúng ta khai báo biến MyFSO là đối tượng người tiêu dùng kiểu FileSystemObject. Chúng ta hoàn toàn có thể làm được điều này vì ở bước trên tất cả chúng ta đã tạo tham chiếu đến thư viện Microsoft Scripting Runtime Library. Nếu tham chiếu không được tạo, khi triển khai các bước này sẽ trả về thông tin lỗi. Ở dòng thứ 2 có 2 trường hợp hoàn toàn có thể xảy ra :

Trường hợp 1: Từ khóa NEW tạo một biến thể của FileSystemObject. Điều này có nghĩa là chúng ta có thể sử dụng tất cả các phương thức của FileSystemObject để làm việc với các file và thư mục. Nếu không tạo biến thể này, chúng ta không thể truy cập các phương thức của FSO.

– Trường hợp 2: Từ khóa SET thiết lập đối tượng MyFSO vào biến thể mới của FileSystemObject. Điều này cho phép chúng ta sử dụng đối tượng này để truy cập các file và thư mục. Ví dụ, nếu muốn tạo một thư mục, chúng ta có thể sử dụng phương thức MyFSO.CreateFolder.

Ngoài ra nếu muốn, tất cả chúng ta cũng hoàn toàn có thể tích hợp 2 lệnh trên thành một như dưới đây : Sub CreatingFSO ( ) Dim MyFSO As New FileSystemObject End Sub Ưu điểm khi sử dụng chiêu thức này ( thiết lập tham chiếu đến thư viện Microsoft Scripting Runtime Library ) là khi sử dụng các đối tượng người dùng FSO trong mã, tất cả chúng ta hoàn toàn có thể sử dụng tính năng IntelliSense để hiển thị các phương pháp và thuộc tính được link với đối tượng người tiêu dùng ( như hình dưới đây ).

tim hieu filesystemobject fso trong vba 5

Điều này là không hề nếu tất cả chúng ta tạo một tham chiếu ở bên trong mã.

3. Tạo một đối tượng FSO ngay trong mã

Ngoài ra còn một cách khác để tạo tham chiếu đến FSO là thực thi ngay trong mã. Với chiêu thức này, tất cả chúng ta không cần tạo bất kể tham chiếu nào ( giống như chiêu thức ở trên ). Trong quy trình viết mã tất cả chúng ta hoàn toàn có thể tạo một đối tượng người tiêu dùng ngay bên trong mã và tham chiếu đến Scripting. FileSystemObject. Đoạn mã dưới đây tạo một đối tượng người dùng FSO, sau đó thiết lập đối tượng người tiêu dùng này thành kiểu FileSystemObject : Sub FSODemo ( ) Dim FSO As Object Set FSO = CreateObject ( “ Scripting. FileSystemObject ” )

End Sub

Mặc dù giải pháp này có vẻ như nhanh hơn, nhưng điểm yếu kém lớn nhấy của chiêu thức này là không hiển thị IntelliSense khi tất cả chúng ta thao tác với các đối tượng người dùng trong FSO.

Trên đây là bài viết hướng dẫn kích hoạt FileSystemObject trong VBA. Ngoài ra, bạn không nên bỏ qua những bài viết cùng chủ đề của Xfaster như:
– Tìm hiểu FileSystemObject (FSO) trong VBA phần 1
– Tìm hiểu FileSystemObject (FSO) trong VBA phần 2

Những bài viết liên quan

Nút quay lại đầu trang