Lỗi khi duyệt file trong thư mục

Liên hệ QC

master90x

Thành viên mới
Tham gia
7/1/13
Bài viết
17
Được thích
0
Giới tính
Nam
Nghề nghiệp
Bách Nghệ
Dear cả nhà,
Tình hình là em có 1 đoạn code để insert file trong thư mục chỉ định. Ý tưởng của em là sẽ duyệt tìm file theo tên, trùng thì sẽ insert file đó. Nhưng khi viết code chạy để search xong xuôi chèn hết rồi đến lượt search cuối thì bị lỗi chỗ sfil = dir này và thông báo lỗi là invalid procedure call or argument. Nhờ các cao nhân thông não em phát. Em cảm ơn

Mã:
Function lay_anh_claim(controlcode As String)

Dim spath, sfil As String
spath = Application.ThisWorkbook.Path & "\IMG\"

sfil = Dir(spath & "*.jpg")
Do While sfil & spath <> ""

   If spath & sfil = Application.ThisWorkbook.Path & "\IMG\" & controlcode & ".jpg" Then
   With ActiveSheet.Pictures.Insert(spath & sfil)
    .Left = Sheet2.Range("D12").Left
    .Top = Sheet2.Range("D12").Top
    .Width = Sheet2.Range("D12:D15").Width
    .Height = Sheet2.Range("D12:D15").Height
   End With
   End If
   sfil = Dir
Loop


End Function
 
Sửa thành
Mã:
Do While sfil <> ""

Nếu controlcode không chứa các ký tự đặc biệt, tức là tên đầy đủ của tập tin thì
Mã:
Function lay_anh_claim(ByVal controlcode As String)
Dim fullName As String
    fullName = ThisWorkbook.Path & "\IMG\" & controlcode & ".jpg"
    If Dir(fullName) <> "" Then
       With ActiveSheet.Pictures.Insert(fullName)
        .Left = Sheet2.Range("D12").Left
        .Top = Sheet2.Range("D12").Top
        .Width = Sheet2.Range("D12:D15").Width
        .Height = Sheet2.Range("D12:D15").Height
       End With
    End If
End Function
 
Upvote 0
Sửa thành
Mã:
Do While sfil <> ""

Nếu controlcode không chứa các ký tự đặc biệt, tức là tên đầy đủ của tập tin thì
Mã:
Function lay_anh_claim(ByVal controlcode As String)
Dim fullName As String
    fullName = ThisWorkbook.Path & "\IMG\" & controlcode & ".jpg"
    If Dir(fullName) <> "" Then
       With ActiveSheet.Pictures.Insert(fullName)
        .Left = Sheet2.Range("D12").Left
        .Top = Sheet2.Range("D12").Top
        .Width = Sheet2.Range("D12:D15").Width
        .Height = Sheet2.Range("D12:D15").Height
       End With
    End If
End Function
Thanks bác. E đã sửa đc rồi nhé.
 
Upvote 0
Web KT

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

Back
Top Bottom