Kiểm tra xem file có tồn tại trong folder cần kiểm tra hay không? (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

ginkgo56

Thành viên mới
Tham gia
23/8/10
Bài viết
1
Được thích
0
Chào cả nhà
Em có đoạn code như thế này
Em muốn hỏi hàm nào dùng để kiểm tra PicName có tồn tại trong sfol hay chưa?
Và đoạn code thế này đã đúng chưa?
Thanks cả nhà

Sub Check()
Dim fso
Dim sfol As String, dfol As String, PicName As String
PicName = "503-0810.JPG"
sfol = "E:\Test" '
dfol = "E:\Test_2"
Set fso = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
If Not fso.FolderExists(sfol) Then
MsgBox sfol & " is not a valid folder/path."
If Not fso.FileExists(PicName) Then
MsgBox PicName & " is not exist."
ElseIf Not fso.FolderExists(dfol) Then
MsgBox dfol & " is not a valid folder/path."
Else
fso.CopyFile (PicName), dfol
End If
End If
If Err.Number = 53 Then MsgBox "File not found"
End Sub
 
Dùng thử hàm này nha:
Mã:
Private Function FileExists(ByVal sPathName As String) As Boolean 
    On Error Resume Next
    FileExists = (GetAttr(sPathName) And vbNormal) = vbNormal
    On Error GoTo 0
End Function

Ví dụ: Kiểm tra thư mục GPE
Mã:
Sub Test()
    If FileExists("D:\GPE") Then
        MsgBox "Co thu muc GPE"
    Else
        MsgBox "Khong co thu muc GPE"
    End If
End Sub

Tương tự như vậy đối với tập tin
 
Upvote 0
Chào cả nhà
Em có đoạn code như thế này
Em muốn hỏi hàm nào dùng để kiểm tra PicName có tồn tại trong sfol hay chưa?
Và đoạn code thế này đã đúng chưa?
Sửa lại thế này nhé:
Mã:
Sub Check()
  Dim sfol As String, dfol As String, PicName As String
  PicName = "503-0810.JPG"
  sfol = "E:\Test"
  dfol = "E:\Test_2"
  With CreateObject("Scripting.FileSystemObject")
    If Not .FolderExists(sfol) Then
      MsgBox sfol & " is not a valid folder/path."
    Else
      If Not .FileExists(sfol & "\" & PicName) Then
        MsgBox PicName & " is not exist."
      ElseIf Not .FolderExists(dfol) Then
        MsgBox dfol & " is not a valid folder/path."
      Else
        .CopyFile sfol & "\" & PicName, dfol & "\" & PicName
      End If
    End If
  End With
  If Err.Number = 53 Then MsgBox "File not found"
End Sub
----------------
Dùng thử hàm này nha:
Mã:
Private Function FileExists(ByVal sPathName As String) As Boolean 
    On Error Resume Next
    FileExists = (GetAttr(sPathName) And vbNormal) = vbNormal
    On Error GoTo 0
End Function
Không dùng cách này được đâu anh à, vì nó không hổ trợ tên folder và file được đặt tên bằng tiếng Việt có dấu
Nói chung, làm việc với file, folder thì luôn ghi nhớ phải dùng đến thằng em Scripting.FileSystemObject cho chắc ăn (mấy hàm có sẳn của VB thôi khỏi suy nghĩ đến cho mất công)
 
Upvote 0
Có thể sử dụng hàm Dir để kiểm tra sự tồn tại của file.
VD:
If Dir("C:\tenfile.doc")=Empty Then Msgbox "File này không tồn tại"
 
Lần chỉnh sửa cuối:
Upvote 0
Không dùng cách này được đâu anh à, vì nó không hổ trợ tên folder và file được đặt tên bằng tiếng Việt có dấu
Nói chung, làm việc với file, folder thì luôn ghi nhớ phải dùng đến thằng em Scripting.FileSystemObject cho chắc ăn (mấy hàm có sẳn của VB thôi khỏi suy nghĩ đến cho mất công)

Nhưng nếu biết trước đối tượng cần tìm (ở đây là PicName = "503-0810.JPG") thì dùng vậy cho gọn ẹc, ẹc ...
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom