Trong các bài viết trước bạn đọc đã cùng Taimienphi.vn tìm hiểu về các hàm phổ biến trong VBA như hàm DIR, hàm TRIM và hàm MsgBox trong VBA. Để tìm hiểu FileSystemObject (FSO) trong VBA, bạn đọc cùng tham khảo tiếp bài viết dưới đây của Taimienphi.vn.
Nếu sử dụng VBA trong Excel để tự động hóa các tác vụ. Điều này có nghĩa là trong hầu hết các trường hợp chúng ta làm việc với các ô và phạm vi, bảng tính, ... và các đối tượng khác là một phần của Excel.
Ngoài ra VBA còn có thể được sử dụng để hoạt động với các file và thư mục ngoài Excel. Trong bài viết tìm hiểu FileSystemObject (FSO) trong VBA dưới đây Taimienphi.vn sẽ giới thiệu cho bạn cách sử dụng FileSystemObject (FSO) trong VBA để làm việc với các file và thư mục trên hệ thống hoặc ổ đĩa mạng (network drive).
1. Tìm hiểu 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, sửa đổi 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ể chúng ta có thể sử dụng FileSystemObject (FSO) trong VBA:
- Kiểm tra xem một file hoặc thư mục có tồn tại hay không.
- Tạo hoặc đổi tên thư mục / file.
- Lấy danh sách tất cả các tên file (hoặc tên 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 đề cập ở trên, chúng ta cũng có thể thực hiện được bằng cách sử dụng các hàm VBA truyền thống (chẳng hạn như hàm DIR) và các phương thức, tuy nhiên các mã sẽ dài hơn và phức tạp hơn.
FileSystemObject giúp chúng ta làm việc với các file và thư mục dễ dàng hơn trong khi các đoạn mã ngắn gọn hơn rất nhiều.
Lưu ý: Chỉ có thể sử dụng FSO trên Excel 2000 và các phiên bản cao hơn.
2. Các đối tượng có thể truy cập thông qua FileSystemObject
Như đã đề cập ở trên, bằng cách sử dụng FileSystemObject trong VBA chúng ta có thể truy cập và sửa đổi tên các 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ể truy cập và sửa đổi bằng cách sử dụng FSO:
Đối tượng Mô tả
Drive Đối tượng Drive cho phép chúng ta lấy các thông tin ổ cứng, chẳng hạn như ổ cứng có tồn tại hau không, tên đường dẫn, loại ổ đĩa (ổ rời hay liền), kích thước, ... .
Folder Đối tượng Folder cho phép tạo hoặc chỉnh sửa các thư mục trong hệ thống, chẳng hạn như xóa, tạo, đổi tên, sao chép các thư mục, ... .
File Đối tượng File cho phép làm việc cùng các file trên hệ thống, chẳng hạn như tạo, mở, sao chép, di chuyển và xóa các file, ... .
TextStream Đối tượng TextStream cho phép tạo hoặc đọc các file văn bản.
Mỗi một đối tượng sẽ có các phương thức mà chúng ta có thể sử dụng kết hợp với nhau.
Cho ví dụ, nếu muốn xóa một thư mục, chúng ta sử dụng phương thức DeleteFolder của đối tượng Folder (thư mục). Tương tự nếu muốn sao chép một file, chúng ta sử dụng phương thức CopyFile của đối tượng File.
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 tại đâ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ả
DriveExists Drive Kiểm tra xem ổ có tồn tại hay không.
GetDrive Drive Trả về buến thể của đối tượng drive dựa trên đường dẫn chỉ định.
GetDriveName Drive Trả về tên ổ đĩa.
BuildPath File/Folder Tạo đường dẫn từ đường dẫn và tên đường dẫn đã có.
CopyFile File/Folder Sao chép file.
GetAbsolutePathName File/Folder Trả về chính tắc của đường dẫn.
GetBaseName File/Folder Trả về tên cơ sở từ đường dẫn, chẳng hạn D:\TestFolder\TestFile.xlsm sẽ trả về TextFile.xlsm.
GetTempName File/Folder Tạo một tên có thể sử dụng để đặt cho file tạm thời.
CopyFolder File/FolderSao chép thư mục từ vị trí này sang vị trí khác.
CreateFolder Folder Tạo thư mục mới.
DeleteFolder Folder Xóa thư mục cụ thể.
FolderExists Folder Kiểm tra xem thư mục có tồn tại hay không.
GetFolder Folder Trả về biến thể của đối tượng Folder dựa trên đường dẫn cụ thể.
GetParentFolderName Folder Trả về tên của thư mục cha dựa trên đường dẫn đã chỉ định.
GetSpecialFolder Folder Lấy vị trí của các thư mục hệ thống khác nhau.
MoveFolder Folder Di chuyển thư mục từ vị trí này sang vị trí khác.
DeleteFile File Xóa một file.
FileExists File Kiểm tra xem file có tồn tại hay không.
GetExtensionName File Trả về phần mở rộng file.
GetFile File Trả về biến thể của một đối tượng File dựa trên đường dẫn chỉ định.
GetFileName File Trả về tên file.
GetFileVersion File Trả về phiên bản file.
MoveFile File Di chuyển file.
CreateTextFile File Tạo một file text.
GetStandardStream File Truy xuất luồng đầu vào, đầu ra chuẩn hoặc lỗi.
OpenTextFile File Mở một file dưới dạng TextStream.
Bài viết trên đây bạn đọc vừa cùng Taimienphi.vn tìm hiểu FileSystemObject (FSO) trong VBA. Nếu có bất kỳ thắc mắc hoặc câu hỏi nào cần giải đáp, bạn đọc có thể để lại ý kiến của mình trong phần bình luận bên dưới bài viết nhé.
https://thuthuat.taimienphi.vn/tim-hieu-filesystemobject-fso-trong-vba-45666n.aspx
Bạn có thể tiếp tục tìm hiểu FileSystemObject trong VBA phần 2 ở bài viết tiếp theo của chúng tôi, đây là những nội dung vô cùng quan trọng trong lập trình VBA.