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

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

Re: ถามCodeการใส่รูปของ VBA
Posted: Tue Dec 28, 2010 4:01 pm
by sdmania

ไฟล์รูป ผมคงรบกวนอาจารย์ หารูปอื่นๆแล้วตั้งชื่อเป็น 21-004-1,21-005-1 เรื่อยไปจนถึง 21-009-1ครับ
ตัวที่ผมส่งมานี้จริงๆ มันใช้ได้ครับอาจารย์

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

Re: ถามCodeการใส่รูปของ VBA
Posted: Tue Dec 28, 2010 8:52 pm
by snasui

จาก 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

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