Khi sử dụng VBA trong Excel để tự động hóa các tác vụ, chúng ta thường làm việc với ô, phạm vi, bảng tính, ... và các đối tượng khác trong Excel.
Ngoài ra, VBA cũng có thể được sử dụng để tương tác với các file và thư mục ngoài Excel. Trong bài viết này, Mytour sẽ hướng dẫn cách sử dụng FileSystemObject (FSO) trong VBA để thao tác với các file và thư mục trên hệ thống hoặc ổ đĩa mạng (network drive).
1. Khám phá FileSystemObject (FSO) trong VBA là gì?
2. Các đối tượng mà chúng ta có thể truy cập thông qua FileSystemObject
3. Cách kích hoạt FileSystemObject trong VBA
4. Ví dụ về việc sử dụng FileSystemObject trong VBA
5. Các phương thức của FileSystemObject (FSO) trong VBA
1. Khám phá FileSystemObject (FSO) trong VBA là gì?
FileSystemObject (FSO) cho phép chúng ta truy cập hệ thống tập tin trên máy tính. Bằng cách sử dụng FileSystemObject (FSO), chúng ta có thể truy cập và chỉnh sửa các file, thư mục trên hệ thống máy tính của mình.
Dưới đây là một số trường hợp cụ thể mà chúng ta có thể sử dụng FileSystemObject (FSO) trong VBA:
- Kiểm tra sự tồn tại của một file hoặc thư mục.
- Tạo mới hoặc đổi tên thư mục/file.
- Thu thập danh sách tất cả các tên file (hoặc thư mục con) trong một thư mục.
- Sao chép các file từ thư mục này sang thư mục khác.
Trong một số trường hợp đã đề cập trước đó, chúng ta cũng có thể thực hiện bằng cách sử dụng các hàm truyền thống của VBA (ví dụ như hàm DIR) và các phương pháp, tuy nhiên, mã sẽ trở nên dài và phức tạp hơn.
FileSystemObject hỗ trợ chúng ta trong việc làm việc với file và thư mục một cách dễ dàng hơn, đồng thời giảm độ phức tạp của đoạn mã xuống đáng kể.
Lưu ý: Chỉ có thể sử dụng FSO trên Excel 2000 và các phiên bản sau đó.
2. Các đối tượng có thể truy cập thông qua FileSystemObject
Như đã nói trước đó, khi sử dụng FileSystemObject trong VBA, chúng ta có khả năng truy cập và thay đổi tên của file và thư mục.
Dưới đây là bảng danh sách các đối tượng quan trọng mà chúng ta có thể tiếp cận và chỉnh sửa bằng cách sử dụng FSO:
Danh sách Đối tượng
Drive - Đối tượng Drive cho phép chúng ta thu thập thông tin về ổ đĩa, ví dụ như sự tồn tại của ổ đĩa, tên đường dẫn, loại ổ đĩa (ổ di động hoặc ổ cứng), kích thước, ... .
Thư mục - Đối tượng Thư mục cho phép tạo mới hoặc điều chỉnh các thư mục trong hệ thống, như xóa, tạo, đổi tên, sao chép thư mục, ... .
Tập tin - Đối tượng Tập tin cho phép làm việc với các tập tin trên hệ thống, như tạo, mở, sao chép, di chuyển và xóa tập tin, ... .
Luồng Văn bản - Đối tượng Luồng Văn bản cho phép tạo hoặc đọc các tập tin văn bản.
Mỗi đối tượng sẽ có các phương thức mà chúng ta có thể sử dụng và kết hợp với nhau.
Ví dụ, để xóa một thư mục, chúng ta sử dụng phương thức DeleteFolder của đối tượng Thư mục. Tương tự, để sao chép một tập tin, chúng ta sử dụng phương thức CopyFile của đối tượng Tập tin.
3. Kích hoạt FileSystemObject trong VBA
Xem chi tiết cách Kích hoạt FileSystemObject trong VBA tại đây.
4. Ví dụ về FileSystemObject trong VBA
Xem chi tiết các Ví dụ về FileSystemObject trong VBA ở đây.
5. Các phương thức của FileSystemObject (FSO) trong VBA
Dưới đây là các phương thức mà chúng ta có thể sử dụng cho từng đối tượng của FileSystemObject (FSO) trong VBA:
Phương thức FSO Đối tượng Mô tả
Kiểm tra xem ổ đĩa có tồn tại hay không.
Trả về biến thể của đối tượng ổ đĩa dựa trên đường dẫn chỉ định.
Trả về tên của ổ đĩa.
Tạo đường dẫn từ đường dẫn và tên đường dẫn đã có.
Sao chép file hoặc thư mục.
Trả về đường dẫn tuyệt đối của đối tượng file hoặc thư mục.
Trả về tên cơ sở từ đường dẫn, ví dụ: D:\TestFolder\TestFile.xlsm sẽ trả về TextFile.xlsm.
Tạo một tên có thể sử dụng để đặt cho file tạm thời hoặc thư mục.
Sao chép thư mục từ vị trí này sang vị trí khác.
Tạo thư mục mới.
Xóa một thư mục cụ thể.
Kiểm tra xem thư mục có tồn tại hay không.
Trả về biến thể của đối tượng Thư mục dựa trên đường dẫn cụ thể.
Trả về tên của thư mục cha dựa trên đường dẫn đã chỉ định.
Lấy vị trí của các thư mục hệ thống khác nhau.
Di chuyển thư mục từ vị trí này sang vị trí khác.
Xóa một file cụ thể.
Kiểm tra xem file đã tồn tại hay không.
Trả về phần mở rộng của file.
Trả về biến thể của một đối tượng File dựa trên đường dẫn chỉ định.
Trả về tên của file.
Trả về phiên bản của file.
Di chuyển file từ vị trí này sang vị trí khác.
Tạo một file văn bản mới.
Truy xuất luồng đầu vào, đầu ra chuẩn hoặc lỗi của file.
Mở một file dưới dạng TextStream.
Bài viết này cùng bạn đọc tìm hiểu về FileSystemObject (FSO) trong VBA. Nếu có thắc mắc hoặc câu hỏi, hãy để lại ý kiến trong phần bình luận dưới bài viết.
Bạn có thể tiếp tục tìm hiểu FileSystemObject trong VBA phần 2 ở bài viết kế tiếp, với những kiến thức quan trọng trong lập trình VBA.