Các ví dụ về tệp và thư mục cơ bản sử dụng VBA trong Microsoft Excel 2010
Ở đây chúng tôi có một vài ví dụ mà chúng tôi có thể sử dụng tệp và thư mục trong mã VBA.
{trống} 1. Lấy đường dẫn thư mục hoạt động Nhập dòng mã này vào mã của bạn nếu bạn muốn lấy đường dẫn thư mục hoạt động nơi bạn đã lưu tệp hiện tại – Msgbox “Tên thư mục hoạt động:“ & CurDir Một hộp thông báo sẽ đưa ra kết quả này –
{trống} 2. Thay đổi ổ đĩa Nếu bạn muốn thay đổi ổ đĩa thông qua macro, bạn có thể thực hiện bằng cách sử dụng dòng mã này – _ChDrive “D” _ Thao tác này sẽ thay đổi ổ đĩa hiện tại thành D để bạn có thể thực hiện các hành động khác như lưu tệp hoặc mở tệp , v.v. Đảm bảo rằng ổ đĩa này tồn tại trong hệ thống máy tính. Nếu không, dòng mã này sẽ báo lỗi cho bạn.
{trống} 3. Thay đổi thư mục hoạt động Nếu bạn muốn thay đổi thư mục hoạt động, hãy sử dụng dòng mã này – _ChDir “D: \ My Documents \ Files” _ Thao tác này sẽ thay đổi thư mục hiện tại / đang hoạt động thành đường dẫn đã đề cập ở trên. Tuy nhiên, nếu đường dẫn này không tồn tại, dòng mã này sẽ báo lỗi cho bạn. Vì vậy, hãy đảm bảo rằng đường dẫn tồn tại trước khi sử dụng dòng mã này.
{trống} 4. Kiểm tra xem tệp có tồn tại trong một thư mục hay không Trong mã vba, nếu bạn muốn kiểm tra xem tệp có tồn tại trong thư mục hay không, trước khi bạn thực hiện các hành động khác trong mã, bạn có thể sử dụng dòng mã sau – If Dir (“D: \ My Documents \ File1.xlsx ”) <>“ ”thì phần còn lại của đoạn mã Nếu tệp“ File1.xlsx ”tồn tại ở đường dẫn đã cho (D: \ My Documents \ File1.xlsx), thì mã sẽ tiến hành thực thi các câu lệnh trong vòng lặp IF. Nếu đường dẫn không tồn tại, thì mã sẽ thực thi các câu lệnh trong Phần khác của vòng lặp, nếu nó đã được đề cập.
{trống} 5. Xóa tệp Nếu bạn muốn xóa một tệp thông qua mã, thì bạn phải sử dụng một dòng mã đơn giản trong mã vba của mình. Dòng mã là – _Kill “D: \ My Documents \ File1.xlsx” _ Tệp có tên File1.xlsx sẽ bị xóa. Nếu bạn không chỉ định thư mục hoặc ổ đĩa, excel sẽ sử dụng thư mục và ổ đĩa đang hoạt động.
{trống} 6. Tạo một thư mục mới Nếu bạn muốn tạo một thư mục mới trong macro để có thể lưu trữ một tệp hoặc các tệp, thì bạn có thể sử dụng một trong hai dòng mã này – _MkDir “NewFolder” _ – Điều này sẽ tạo một thư mục mới trong thư mục đang hoạt động.
_MkDir “D: \ My Documents \ NewFolder” _ – Thao tác này sẽ tạo một thư mục mới trong đường dẫn hiện có đã cho – D: \ My Documents \ {trống} 7. Xóa một thư mục Bạn cũng có thể xóa một thư mục thông qua một macro. Tuy nhiên, bạn cần đảm bảo rằng thư mục trống trước khi xóa. Bạn có thể sử dụng một trong hai dòng mã này – _RmDir “NewFolder” _ – Thao tác này sẽ xóa thư mục con “NewFolder” khỏi thư mục đang hoạt động.
RmDir “D: \ My Documents \ NewFolder – Thao tác này sẽ xóa thư mục con“ NewFolder ”khỏi đường dẫn được chỉ định – D: \ My Documents \ {trống} 8. Sao chép tệp Bạn có thể tạo một hoặc nhiều bản sao của tệp bằng macro. Bạn có thể tạo một bản sao của tệp trong cùng một thư mục (thư mục hoạt động) hoặc trong một thư mục khác. Tuy nhiên, bạn cần đảm bảo rằng tệp đang được sao chép đã được đóng tại thời điểm tạo bản sao.
_FileCopy “File1.xlsx”, “File2.xlsx” _ – Thao tác này tạo một bản sao của tệp có tên File1.xlsx và lưu nó dưới dạng File2.xlsx trong thư mục hoạt động.
_FileCopy “File1.xlsx”, “D: \ My Documents \ Files \ File2.xlsx” _ – Thao tác này tạo một bản sao của tệp có tên File1.xlsx trong thư mục hoạt động và lưu nó dưới dạng File2.xlsx trong đường dẫn được cung cấp – D : \ Tài liệu của tôi \ Tệp \.
-
Di chuyển tệp Nếu bạn không thể xóa tệp với các ràng buộc bảo mật, tuy nhiên, bạn có thể di chuyển tệp từ vị trí này sang vị trí khác, bạn có thể thực hiện việc này bằng cách sử dụng một dòng mã đơn giản. Bạn chỉ có thể di chuyển tệp từ nguồn đến đích nếu tệp được đóng.
Đây là mã mà bạn có thể sử dụng – OldFilePath = “D: \ OldFolder \ File1.xlsx” _ ‘source location _NewFilePath = “D: \ NewFolder \ File1.xlsx” _’ destination location _Name OldFilePath as NewFilePath ‘files đã được di chuyển .