Page 1 of 1

ถามCodeการใส่รูปของ VBA

Posted: Tue Dec 28, 2010 11:17 am
by sdmania
มาขอตัวอย่างCode เรียกใช้ image ครับอาจารย์และพี่น้องร่วมบอร์ด


รหัสลูกค้า1คนต้องมีรูปเก็บไว้3รูปเป็นมาตรฐาน ผมเลยมาขอCodeที่กดรหัสลูกค้า แล้วเลือกดูภาพได้ทีละภาพจาก3ภาพครับ

Re: ถามCodeการใส่รูปของ VBA

Posted: Tue Dec 28, 2010 1:03 pm
by snasui
:D ลองยกตัวอย่างมาในไฟล์ด้วยครับว่าต้องการทำงานอย่างไร คลิกเซลล์ไหน ต้องการให้ภาพแสดงที่เซลล์ไหน ภาพอยู่ใน Folder ไหน ภาพชื่ออะไรบ้าง เนื่องจากว่าไม่มี code สำเร็จรูปครับ การเขียน Code โดยปกติแล้วจะต้องปรับเป็นงาน ๆ ไปครับ

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

Re: ถามCodeการใส่รูปของ VBA

Posted: Tue Dec 28, 2010 4:01 pm
by sdmania
:roll: ไฟล์รูป ผมคงรบกวนอาจารย์ หารูปอื่นๆแล้วตั้งชื่อเป็น 21-004-1,21-005-1 เรื่อยไปจนถึง 21-009-1ครับ

ตัวที่ผมส่งมานี้จริงๆ มันใช้ได้ครับอาจารย์ :shock: แต่พอแชร์ไฟล์ให้เครื่องอื่นเข้ามาใช้งานตัวexcel นี้ปุ๊บ มันเกิด error runtime 53ครับ ต่อให้ปิดการแชร์ไฟล์มันก็ยังไม่หายerror 53 ครับ เลยอยากถามว่ามันเกิดขึ้นเพราะอะไรครับ

ไฟล์นี้เป็นตัวอย่างเบื้องต้นมาให้อาจารย์ดู เพื่อชี้แนะครับ รบกวนอาจารย์สอนด้วยครับ :flw:

Re: ถามCodeการใส่รูปของ VBA

Posted: Tue Dec 28, 2010 8:52 pm
by snasui
:D จาก Code

Code: Select all

Private Sub ListBox1_Click()
myPic = ListBox1 & ".jpg"
imgbox02.Picture = LoadPicture(myPic)
End Sub
ตรง myPic ต้องเป็น Path ที่เก็บรูปครับ

อาจจะเขียนใหม่ได้เป็น

Code: Select all

Private Sub ListBox1_Click()
myPic = "D:\My Picture\" & ListBox1 & ".jpg"
imgbox02.Picture = LoadPicture(myPic)
End Sub
กรณี Share ไฟล์เดาว่าน่าจะเป็นประเด็นเรื่อง Path ที่เก็บภาพที่ทำให้เกิด Error ลองทดสอบโดยการใส่ชื่อ Path แบบเต็ม ๆ โดยอ้างชื่อเครื่องด้วยครับ

Re: ถามCodeการใส่รูปของ VBA

Posted: Wed Dec 29, 2010 3:18 pm
by sdmania
:mrgreen: ขอบคุณครับอาจารย์ แถมแชร์ให้เครื่องอื่นเข้ามาทำงานบนเครื่องผมได้ด้วยครับ
(กำลังอยู่ในช่วงทดลอง ใส่รูปภาพเยอะๆครับ) :mrgreen:


ตอนนี้เปิดแชร์ไฟล์ เพื่อทดสอบว่าหากเครื่องผมมีภาพเยอะขึ้น เครื่องอื่นจะต้องโหลดภาพทั้งหมดเสียก่อน หรือมันจะโหลดแค่ รหัสที่เราคลิกในListboxน่ะครับ