RSS

การดึงรูปจาก Folder ที่ต้องการมาแสดงใน Excel

31 May

สำหรับการดึงรูปจาก Folder ที่เก็บในเครื่องมาแสดงใน Excel โดยปรับภาพให้พอดีกับขนาดเซลล์ด้วยเสมอนั้นจำเป็นต้องใช้ VBA มาช่วยเพื่อการกระทำดังกล่าวครับ ซึ่งการดึงภาพจาก Folder ในเครื่องมาแสดงแทนการเก็บภาพไว้ในตาราง Excel แล้วค่อยใช้สูตรดึงภาพมาแสดงนั้นจะช่วยให้ลดขนาดไฟล์ได้มาก เนื่องจากไฟล์ภาพมักจะมีขนาดใหญ่ หากเก็บภาพไว้ในตาราง Excel มาก ๆ จะทำให้ไฟล์มีขนาดใหญ่ขึ้นมาก นอกจากนี้จะให้ไฟล์ Excel ทำงานช้าลงมากตามไปด้วย

ตามภาพด้านล่างจะเป็นการดึงภาพที่เก็บไว้ใน Drive D: มาแสดงตามชื่อที่ไห้ไว้ล่วงหน้า ซึ่งสามารถที่จะระบุชื่อภาพไว้ในเซลล์ตั้งแต่ F4 เป็นต้นไปตามความต้องการ เมื่อคลิกปุ่ม Show Picture ภาพก็จะมาแสดงในคอลัมน์ G ตรงกับชื่อที่ให้ไว้

ภาพแสดงการดึงรูปจาก Folder ที่ต้องการมาแสดงใน Excel

RetreivePic

 ซึ่งสามารถใช้ Code VBA ตามด้านล่าง

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:\" & r.Offset(0, -1).Value & ".jpg", LinkToFile:=False, _
SaveWithDocument:=True, Left:=r.Left, Top:=r.Top, _
Width:=r.Width, Height:=r.Height)
Next r
End Sub

 
Leave a comment

Posted by on 31/05/2011 in Picture

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: