Page 1 of 1

INSERT รูปภาพจาก Folder เข้ามาใน Excel

Posted: Fri Nov 06, 2015 8:20 am
by raweeroge
ต้องการ INSERT รูปภาพจาก Folder เข้ามาใน Excel เพิ่มเติม บริเวณสีน้ำเงินคอลัมภ์ G สามารถดึงภาพมาแสดงได้แล้วโดยอ้างอิงจากคอลัมภ์ F ถ้าผมอยากให้ดึงรูปมาแสดงเพิ่มในคอลัมภ์ K โดยอ้างอิงจากคอลัมภ์ J ไม่ทราบว่า จะต้องแก้ไขหรือเพิ่มเติม CODE อย่างไรครับ

Sub ShowPicture()
Dim r As Range, ra As Range
Book3.xlsm
Dim imgIcon As Object
Dim obj As Object
On Error Resume Next
With Worksheets("Sheet1")
Set ra = .Range("G4", .Range("F65536").End(xlUp).Offset(0, 1))
End With
For Each obj In ActiveSheet.Shapes
If Left(obj.Name, 4) = "Pict" Then
obj.Delete
End If
Next obj
For Each r In ra
Set imgIcon = ActiveSheet.Shapes.AddPicture( _
Filename:="D:\Test the end year party card\" & r.Offset(0, -1).Value & ".bmp", LinkToFile:=False, _
SaveWithDocument:=True, Left:=r.Left, Top:=r.Top, _
Width:=r.Width, Height:=r.Height)
Next r
End Sub

Re: INSERT รูปภาพจาก Folder เข้ามาใน Excel

Posted: Fri Nov 06, 2015 6:18 pm
by snasui
:D ช่วยโพสต์ Code ให้แสดงเป็น Code ดูได้จากกฎการใช้บอร์ดข้อ 5 ด้านบนครับ

Re: INSERT รูปภาพจาก Folder เข้ามาใน Excel

Posted: Mon Nov 09, 2015 9:35 am
by raweeroge
ขอโทษครับ ขออนุญาตส่ง Code ครับ

Code: Select all

Sub ShowPicture()
    Dim r As Range, ra As Range
    Dim imgIcon As Object
    Dim obj As Object
    On Error Resume Next
    With Worksheets("Sheet1")
        Set ra = .Range("G4", .Range("F65536").End(xlUp).Offset(0, 1))
    End With
    For Each obj In ActiveSheet.Shapes
        If Left(obj.Name, 4) = "Pict" Then
            obj.Delete
        End If
    Next obj
    For Each r In ra
        Set imgIcon = ActiveSheet.Shapes.AddPicture( _
        Filename:="D:\Test the end year party card\" & r.Offset(0, -1).Value & ".bmp", LinkToFile:=False, _
        SaveWithDocument:=True, Left:=r.Left, Top:=r.Top, _
        Width:=r.Width, Height:=r.Height)
    Next r
End Sub


Re: INSERT รูปภาพจาก Folder เข้ามาใน Excel

Posted: Mon Nov 09, 2015 7:25 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

Sub ShowPicture()
    Dim r As Range, ra As Range, ra1 As Range
    Dim imgIcon As Object
    Dim obj As Object
    On Error Resume Next
    With Worksheets("Sheet1")
        Set ra = .Range("G4", .Range("F65536").End(xlUp).Offset(0, 1))
    End With
    For Each obj In ActiveSheet.Shapes
        If Left(obj.Name, 4) = "Pict" Then
            obj.Delete
        End If
    Next obj
    For Each r In ra
        Set imgIcon = ActiveSheet.Shapes.AddPicture( _
        Filename:="D:\Test the end year party card\" & r.Offset(0, -1).Value & ".bmp", LinkToFile:=False, _
        SaveWithDocument:=True, Left:=r.Left, Top:=r.Top, _
        Width:=r.Width, Height:=r.Height)
    Next r
    Set ra1 = ra.Offset(0, 4)
    For Each r In ra1
        Set imgIcon = ActiveSheet.Shapes.AddPicture( _
        Filename:="D:\Test the end year party card\" & r.Offset(0, -1).Value & ".bmp", LinkToFile:=False, _
        SaveWithDocument:=True, Left:=r.Left, Top:=r.Top, _
        Width:=r.Width, Height:=r.Height)
    Next r
End Sub

Re: INSERT รูปภาพจาก Folder เข้ามาใน Excel

Posted: Tue Nov 10, 2015 9:02 am
by raweeroge
ขอบคุณมากครับ
รบกวนสอบถามเพิ่มเติมครับ คือ ผมต้องการเปลี่ยนชื่อ File พร้อมกันหลายๆ File ใน Folder เดียวกัน (ดูจากตัวอย่างของอาจารย์) แต่ไม่สำเร็จ ขึ้นเตือน Error ว่า Type mismatch รบกวนอาจารย์ช่วยแก้ไขให้ด้วยครับ

Code: Select all

Sub DoSomething()
    Dim rAll As Range
    Dim a As String
    With Sheets("List")
        Set rAll = .Range("A2", .Range("A" & Rows.Count).End(xlUp))
    End With
    For Each r In rAll
         MyPath = r.Value
         MyFile = r.Offset(0, 1).Value
         NewName = r.Offset(0, 2).Value
         If Dir(MyPath & MyFile) <> "" Then
             Name MyPath & MyFile As MyPath & NewName
         End If
     Next r
End Sub

Re: INSERT รูปภาพจาก Folder เข้ามาใน Excel

Posted: Tue Nov 10, 2015 6:03 pm
by snasui
:D ผมทดสอบแล้วไม่พบปัญหาใด ลองจับภาพ Folder ที่เก็บภาพมาดูกันอีกรอบ จะได้เห็นว่าภาพนามสกุลอะไร กำหนด Path ไว้ถูกต้องหรือไม่ ฯลฯ ครับ

Re: INSERT รูปภาพจาก Folder เข้ามาใน Excel

Posted: Wed Nov 11, 2015 8:12 am
by raweeroge
ขอบคุณครับมากครับ ภาพนามสกุล .bpm ครับ
Picture1.png

Re: INSERT รูปภาพจาก Folder เข้ามาใน Excel

Posted: Wed Nov 11, 2015 7:09 pm
by snasui
:D ไฟล์ Excel ที่ส่งมาไม่ได้ระบุ Path ให้ตรงตามภาพที่แนบมาใน Post ล่าสุด หากเป็นตามภาพ Path ควรเป็นตามด้านล่างครับ

D:\scan\test the end year party card

Re: INSERT รูปภาพจาก Folder เข้ามาใน Excel

Posted: Fri Nov 13, 2015 9:43 am
by raweeroge
ขอบคุณครับ เดี๋ยวกลับมาแจ้งผลครับ