Nhờ các anh giải thích đoạn code trên sai ở chỗ nào (1 người xem)

  • Thread starter Thread starter lhthai
  • Ngày gửi Ngày gửi

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

Status
Không mở trả lời sau này.

lhthai

Thành viên thường trực
Tham gia
1/9/07
Bài viết
309
Được thích
27
File dữ liệu có 3 file nhưng khi lấy chỉ thấy có 2 file.
Mã:
Sub Link()
Dim Arr, i As Long, n As Long, Count As Long
Dim Dic As Object
On Error Resume Next
Set Dic = CreateObject("Scripting.FileSystemObject")
    Arr = FilesFoldersList(Sheet1.TextBox1, True, "*.*", True)
        Count = UBound(Arr) + 1
        Range("B9:G65536").Clear
        For i = 1 To Count
        With Range("B9").Offset(i)
          .Offset(, 0) = i
          .Offset(, 1) = Dic.GetFile(Arr(i)).Name
          .Offset(, 2) = Int(Dic.GetFile(Arr(i)).Size / 1024)
          .Offset(, 3) = Dic.GetFile(Arr(i)).Type
          .Offset(, 4) = Dic.GetFile(Arr(i)).DateCreated
          .Offset(, 5).Hyperlinks.Add .Offset(, 5), Arr(i), , , "Click mo File"
        End With
        Next
End Sub
Em cũng không hiểu cách sử dụng Dic nên mượn code trên diễn đàn copy chỉnh sữa từ từ
Nhờ các anh giải thích đoạn code trên sai ở chỗ nào.
 

File đính kèm

đã chỉnh sữa được rồi
Mã:
Sub Link()
Dim Arr, i As Long, n As Long, Count As Long
Dim Dic As Object
On Error Resume Next
Set Dic = CreateObject("Scripting.FileSystemObject")
    Arr = FilesFoldersList(Sheet1.TextBox1, True, "*.*", True)
        Count = UBound(Arr)
        Range("B9:G65536").Clear
        For i = 0 To Count
        With Range("B9").Offset(i)
          .Offset(, 0) = i + 1
          .Offset(, 1) = Dic.GetFile(Arr(i)).Name
          .Offset(, 2) = Int(Dic.GetFile(Arr(i)).Size / 1024)
          .Offset(, 3) = Dic.GetFile(Arr(i)).Type
          .Offset(, 4) = Dic.GetFile(Arr(i)).DateCreated
          .Offset(, 5).Hyperlinks.Add .Offset(, 5), Arr(i), , , "Click mo File"
        End With
        Next
End Sub
 
Upvote 0
Hỏi gì kỳ cục vậy? FilesFoldersList đâu phải là hàm tiêu chuẩn, nếu hỏi thì phải đăng luôn nó lên. Ít nhất phải biết nó trả về cái gì mới biết code sai chỗ nào.

Bạn sửa lại vẫn chưa hẳn đúng. Đúng phải là:
oStart = 1 - LBound(Arr) ' offet to starting point
For i = LBound(Arr) To UBound(Arr)
With Range("B9").Offset(i + oStart)
.Offset(,0) = i + oStart
 
Upvote 0
Hỏi gì kỳ cục vậy? FilesFoldersList đâu phải là hàm tiêu chuẩn, nếu hỏi thì phải đăng luôn nó lên. Ít nhất phải biết nó trả về cái gì mới biết code sai chỗ nào.

Bạn sửa lại vẫn chưa hẳn đúng. Đúng phải là:
oStart = 1 - LBound(Arr) ' offet to starting point
For i = LBound(Arr) To UBound(Arr)
With Range("B9").Offset(i + oStart)
.Offset(,0) = i + oStart
Cám ơn anh chỉ dẫn giúp
 
Upvote 0
Status
Không mở trả lời sau này.

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

Back
Top Bottom