Dưới đây là câu lệnh VBA của 6 hàm cơ bản và hữu ích nhất thường xuyên được sử dụng. Bạn chỉ cần sao chép đoạn mã trên và dán vào mô-đun chạy VBA của mình.
- FileExists – Trả về kết quả “TRUE” nếu tồn tại một tệp cụ thể nào đó.
- FileNameOnly– Trích xuất phần tên gọi tách riêng khỏi chuỗi dữ liệu đường dẫn/tên gọi của tệp
- PathExists – Trả về kết quả “TRUE” nếu tồn tại một đường dẫn cụ thể nào đó.
- RangeNameExists – Trả về kết quả “TRUE” nếu tồn tại một dải tên cụ thể.
- SheetExists – Trả về kết quả “TRUE” nếu tồn tại một trang tính cụ thể nào đó.
- WorkBookIsOpen – Trả về kết quả “TRUE” nếu bảng tính đang hoạt động.
HÀM FILEEXISTS
Private Function FileExists(fname) As Boolean ' Returns TRUE if the file exists Dim x As String x = Dir(fname) If x <> "" Then FileExists = True _ Else FileExists = False End Function
HÀM FILENAMEONLY
Private Function FileNameOnly(pname) As String ' Returns the filename from a path/filename string Dim i As Integer, length As Integer, temp As String length = Len(pname) temp = "" For i = length To 1 Step -1 If Mid(pname, i, 1) = Application.PathSeparator Then FileNameOnly = temp Exit Function End If temp = Mid(pname, i, 1) & temp Next i FileNameOnly = pname End Function
HÀM PATHEXISTS
Private Function PathExists(pname) As Boolean ' Returns TRUE if the path exists Dim x As String On Error Resume Next x = GetAttr(pname) And 0 If Err = 0 Then PathExists = True _ Else PathExists = False End Function
HÀM RANGENAMEEXISTS
Private Function RangeNameExists(nname) As Boolean ' Returns TRUE if the range name exists Dim n As Name RangeNameExists = False For Each n In ActiveWorkbook.Names If UCase(n.Name) = UCase(nname) Then RangeNameExists = True Exit Function End If Next n End Function
HÀM SHEETEXISTS
Private Function SheetExists(sname) As Boolean ' Returns TRUE if sheet exists in the active workbook Dim x As Object On Error Resume Next Set x = ActiveWorkbook.Sheets(sname) If Err = 0 Then SheetExists = True _ Else SheetExists = False End Function
HÀM WORKBOOKISOPEN
Private Function WorkbookIsOpen(wbname) As Boolean ' Returns TRUE if the workbook is open Dim x As Workbook On Error Resume Next Set x = Workbooks(wbname) If Err = 0 Then WorkbookIsOpen = True _ Else WorkbookIsOpen = False End Function
2 Th10 2020
2 Th10 2020
2 Th10 2020
2 Th10 2020
2 Th10 2020
2 Th10 2020