Xác định file tồn tại (File exists) trên mạng LAN bị chậm
Chào các bác, các anh chị!
Em vừa viết code liên quan đến lấy hình ảnh trên một máy khác trong mạng Lan (mạng nội bộ công ty), phần lấy hình ảnh thì em không đề cập vào đây, chỉ có vấn đề ở chỗ xác định file đó tồn tại hay không thì có vấn đề thế này:
– Nếu là máy cần lấy ảnh (trong mạng nội bộ) đang mở thì mọi việc diễn ra suôn sẻ
– Nếu máy đó đã tắt, tức không kết nối được thì code xác định file tồn tại hay không lại xử lý quá lâu
Chạy lần đầu tới 43 giây, lần sau không hiểu nó có nhớ gì hay không nhưng chạy nhanh hơn
Trong code xác định sự tồn tại của file thì em tìm hiểu có 3 kiểu: dùng Dir, FSO hoặc API. Vì dùng Dir không áp dụng cho đường dẫn tiếng Việt nên em không nghiên cứu gì thêm nó
Nói thêm là đường dẫn phải là một máy có thật trên mạng LAN thì nó mới lâu, còn lấy đường dẫn giả thì nó cũng vài giây thôi
Câu hỏi của em là: Có cách nào xử lý vấn đề này cho nó nhanh hơn không? Tầm 1,2 giây gì đó thì trong khoảng chấp nhận được chứ 43 giây thì quá lớnPrivate Declare Function GetFileAttributesW Lib "kernel32.dll" (ByVal lpFileName As Long) As Long Public Function FileExistsAPI(ByRef sFileName As String) As Boolean Select Case (GetFileAttributesW(StrPtr(sFileName)) And vbDirectory) = 0& Case True FileExists = True Case Else FileExists = False End Select End Function Function FileExistsFSO(ByVal filename As String) As Boolean Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") FileExistsFSO = fso.FileExists(filename) Set fso = Nothing End Function Sub a() Dim xpath As String, t As Double t = Timer xpath = "\plan10 1234.jpg" MsgBox "FileExistsAPI : " & FileExistsAPI(xpath) _ & vbCrLf & "Time : " & Timer - t t = Timer 'MsgBox "FileExistsFSO : " & FileExistsFSO(xpath) _ & vbCrLf & "Time : " & Timer - t End Sub2803
Bạn phải tách dường dẫn để lấy IP hoặc tên máy kết nối tới sau đó dùng Ping để xem nó có tắt/mở trước rồi mới kiểm tra tới file có tồn tại hay không.
www.giaiphapexcel.com/diendan/threads/x%C3%A1c-%C4%91%E1%BB%8Bnh-file-t%E1%BB%93n-t%E1%BA%A1i-file-exists-tr%C3%AAn-m%E1%BA%A1ng-lan-b%E1%BB%8B-ch%E1%BA%ADm.160870/
Khóa học Power PI – Ứng dung trong Nhân sự
TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...
Xem khóa học
[QUOTE="Ngày mai trời lại sáng, post: 0, member: 0"]
Bác