Page 1 of 1
ดึงรูปมาใส่ ตามชื่อที่เป็นตัวเลข....
Posted: Tue Mar 05, 2013 10:53 am
by mr.zatan
รูปตัวอย่าง
http://goo.gl/i16nS
1. รูปอยู่ที่ D:\photo
2. ดึงรูปมาใส่ตามชื่อที่เป็นตัวเลข (เพราะในชื่อจะมีตัวอักษรด้วย) รูปอันไหนก็ได้ที่ชื่อ ตัวเลขเหมือนกัน
Re: ดึงรูปมาใส่ ตามชื่อที่เป็นตัวเลข....
Posted: Tue Mar 05, 2013 11:09 am
by tupthai
จะทำเช่นนั้นได้ต้องใช้ VBA ครับ
ตามกฎข้อ.5 ด้านบน
สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน
Re: ดึงรูปมาใส่ ตามชื่อที่เป็นตัวเลข....
Posted: Tue Mar 05, 2013 11:37 am
by mr.zatan
ถ้างั้นก็จบเลยงั้นเพราะผมเองก็ไม่ใช่ โปรแกรมเมอร์...
Re: ดึงรูปมาใส่ ตามชื่อที่เป็นตัวเลข....
Posted: Tue Mar 05, 2013 11:48 am
by tupthai
Re: ดึงรูปมาใส่ ตามชื่อที่เป็นตัวเลข....
Posted: Wed Mar 06, 2013 12:59 am
by tupthai
Code: Select all
Public Sub insertphoto()
Dim Path As String
Dim F As String
Path = "d:\photo\"
F = Dir(Path & "*" & Mid(Range("b11").Value, 5) & "*.jpg")
If Len(F) > 0 Then
With ActiveSheet.Pictures.Insert(Path & F)
.Top = Range("a4:b10").Top
.Height = Range("a4:b10").Height
.Left = ((Range("a4:b10").Width) - (.Width)) / 2
End With
Else
MsgBox "file not found"
End If
F = Dir(Path & "*" & Mid(Range("b23").Value, 5) & "*.jpg")
Range("a16").Select
If Len(F) > 0 Then
With ActiveSheet.Pictures.Insert(Path & F)
.Top = Range("a16:b22").Top
.Height = Range("a16:b22").Height
.Left = ((Range("a16:b22").Width) - (.Width)) / 2
End With
Else
MsgBox "file not found"
End If
End Sub
Re: ดึงรูปมาใส่ ตามชื่อที่เป็นตัวเลข....
Posted: Wed Mar 06, 2013 11:13 am
by mr.zatan
ขอบคุณมากครับ...
Re: ดึงรูปมาใส่ ตามชื่อที่เป็นตัวเลข....
Posted: Wed Mar 06, 2013 4:53 pm
by mr.zatan
รูปตัวอย่าง
http://goo.gl/4hT14
ส่วนนี้ถ้าผมจะเพิ่มเงื่อนไข ให้ดึงรูปที่ตรงกับตัวอักษรตัวที่ 3 ด้วย ** ในตัวอย่างคือตัว P และ R
(เช็คตัวเลข+ตัวอักษรตัวที่ 3) เมื่อทุกอย่างตรงกันค่อยดึงรูปมาใส่
Code: Select all
F = Dir(Path & "*" & Mid(Range("b11").Value, 5) & "*.jpg")
Re: ดึงรูปมาใส่ ตามชื่อที่เป็นตัวเลข....
Posted: Wed Mar 06, 2013 5:08 pm
by tupthai
Code: Select all
F = Dir(Path & "*" & Mid(Range("b11").Value, 5) & "*.jpg")
Mid(Range("b11").Value, 5) หมายถึงเอาไว้เฉพาะตัวอักษรตัวที่5เป็นต้นไป ส่วนตัวที่ 1-4 ตัดทิ้ง
ให้แก้ตรงเลข 5 เป็น 3
Code: Select all
F = Dir(Path & "*" & Mid(Range("b11").Value, 3) & "*.jpg")
Re: ดึงรูปมาใส่ ตามชื่อที่เป็นตัวเลข....
Posted: Wed Mar 06, 2013 5:55 pm
by mr.zatan
ขอบคุณครับ...