วันจันทร์ที่ 19 พฤษภาคม พ.ศ. 2557

Excel กับ การใช้ Control Listbox และ Textbox สร้างโปรแกรม Dictionary บน Excel

Excel กับ การใช้ Control Listbox และ Textbox สร้างโปรแกรม Dictionary บน Excel ยิ่งสระผมเท่าไหร่ก็ดูเหมือนว่า ผมจะคัน แถมเกิดรังแคมากขึ้นด... thumbnail 1 summary
Excel กับ การใช้ Control Listbox และ Textbox สร้างโปรแกรม Dictionary บน Excel

ยิ่งสระผมเท่าไหร่ก็ดูเหมือนว่า ผมจะคัน แถมเกิดรังแคมากขึ้นด้วย ไม่รู้ว่าเป็นเพราะยาสระผมที่ใช้หรือเปล่า ตอนนี้ดูเหมือนผมจะร่วงมาหลายเส้นล่ะ สงสัยต้องเปลี่ยนยาสระผมแล้วล่ะ...รังแคเป็นแผ่นๆเลย

ฟังก์ชั่นบน Excel ยังนำเสนอไม่หมดเลย แต่ไม่เป็นไร เราค่อยๆทยอยเอามาลงก็แล้วกันซักวันคงหมด..ตอนนี้เราพักเรื่องฟังก์ชั่นกันก่อนดีกว่า ไปดูเรื่องอื่นๆ กัน อย่างที่เคยกล่าวไปแล้วในบทความก่อนว่า จะนำเสนอเรื่องของ vba ด้วย สำหรับบล็อก Excel แห่งนี้ ... ผมเห็นว่า การใช้ งาน Excel มีหลายอย่างที่ต้องเรียนรู้มากทีเดียว อย่างเช่นเรื่องของ Control Activex ซึ่งเป็นเครื่องมือที่มาช่วยให้ Excel มีความสะดวก มีความสามารถมากขึ้น ก็เลยเห็นว่าควรจะนำเสนอเรื่องการใช้ Control Activex สักหน่อย

โดยในวันนี้จะนำเสนอเรื่องของ การใช้ Control Listbox กับ Control Textbox พร้อมๆกัน เลย

Control Listbox คือ คอนโทรลของ Activex ที่อยู่บนในส่วนแท็บ Developer(นักพัฒนา) ซึ่งเป็นคอนโทรลที่ใช้สำหรับ บรรจุรายการต่างๆตามที่เราต้องการ อย่างเช่น บรรจุรายการเพลง, รายการภาพยนตร์, รายการคำศัพท์, รายชื่อไฟล์, รายชื่อไดรฟ์, รายชื่อโฟลเดอร์ หรือ งานด้านอื่นๆตามที่เราต้องการ

Control Textbox คือ คอนโทรลของ Activex ที่อยู่ในส่วนแท็บ Developer(นักพัฒนา) เช่นกัน ประโยชน์ของมันก็คือใช้บรรจุข้อความทั้งที่เป็นข้อความบรรทัดเดียว หรือ หลายบรรทัดก็ได้ เช่น ในตัวอย่างนี้ เราจะใช้ Textbox ในการบรรจุความหมายของคำศัพท์ภาษาอังกฤษ

เรามาดูภาพประกอบกันดีกว่าว่า Control Textbox และ Control Listbox อยู่ตรงไหน ตามภาพด้านล่างนี้ครับ




จากภาพด้านบนเราจะเห็นว่า ในส่วนของ ActiveX Controls มีคอนโทรลให้ใช้อยู่หลายตัว แต่เรานำเอามาใช้แค่สองตัวเท่านั้น ในกรอบสี่เหลี่ยมแดงเล็กๆคือ คอนโทรล listbox และ textbox ที่เราจะเอามาใช้ในตัวอย่างนี้

โดยในตัวอย่างนี้เราจะจำลองการทำงานของโปรแกรม Dictionary

โดยมีหลักการทำงานดังนี้คือ

เมื่อคลิ้กที่รายการคำศัพท์ที่อยู่ใน Listbox รายการใด ก็จะแสดงความหมายของคำศัพท์ในช่อง Textbox อย่างนี้เป็นต้น

สิ่งที่เราต้องทำคือ นำ Control ActiveX Listbox มาวางบน Sheet ของ Excel และกำหนดค่าให้กับControl ActiveX ดังภาพด้านล่าง
























จากภาพด้านบนเป็นการ กำหนดสีพื้นหลังให้กับ Listbox เป็นสีดำ

กำหนด สีตัวอักษรบน Listbox เป็นสีเหลือง

และกำหนด อักษร หรือ Font นั่นเอง เป็น DokChampa ขนาดตัวอักษรคือ 10 ส่วนข้อความใน Listbox เรายังไม่ต้องใส่ เพราะเราจะเขียนโค้ดเพื่อใส่ไป ดังนั้นให้ข้ามในส่วนของข้อความไปก่อน ไปกำหนดค่า Textbox ต่อ

นำ Control Textbox มาวางข้างๆ Listbox แล้วกำหนดค่าให้กับ Texbox ดังภาพด้านล่าง








จากภาพ เรากำหนดสีพื้นหลังของ textbox เป็นสีขาว

กำหนดในส่วนของเส้นขอบหรือ border style เป็น สีแดง และกำหนดลักษณะของเส้นขอบเป็นแบบ fmborderStyleSingle แล้ว Textbox ก็จะออกมาดังภาพด้านบนนั่นแหละ

หลังจากกำหนดค่าให้กับ Listbox และ Textbox แล้วเราจะได้ คอนโทรลที่มีลักษณะดังภาพด้านล่างนี้วางข้างๆกัน





จากนั้นให้เรากด ALT+F11 เพื่อไปยังหน้าต่างการกำหนด Source code เพื่อสั่งงาน Control ทั้งสองตัวนี้

แล้วเขียนโค้ดโปรแกรมดังต่อไปนี้ลงไป





เมื่อเขียนโค้ดเสร็จแล้วให้กด Alt+F11 อีกครั้งเพื่อกลับไปที่ Worksheet บน Excel

แล้วสั่งให้โปรแกรมของเราทำงานโดยการกดที่ ปุ่ม Design Mode ให้เด้งขึ้นมา...โปรแกรมของเราก็จะอยู่ในสภาวะรัน หรือ ภาวะทำงาน พร้อมที่จะรับคำสั่งจากโค้ดที่เราเขียนไปแล้ว ดูภาพด้านล่างประกอบ




ให้เราทดสอบการทำงานของโปรแกรม Dictionary โดยการลองกดที่คำศัพท์ ตัวใดตัวหนึ่ง ซึ่งในที่นี่ เราจะลองกดที่คำศัพท์คำว่า To Dog Someone’s Footsteps ที่อยู่บน Listbox แล้วสังเกตผลลัพธ์ที่ช่อง Textbox




เราจะเห็นว่า เมื่อเราคลิ้กที่ คำว่า To Dog Someone’s Footsteps ที่อยู่บน Listbox ความหมายของคำศัพท์จะปรากฏที่ Textbox ที่อยู่ขวามือทันที

ลองคลิ้กที่คำศัพท์คำอื่นดู เช่น คลิ้กที่คำศัพท์ตัวแรกคือ คำว่า A Perfect Cat ที่ Textbox ก็จะได้คำแปลว่า คนนิสัยไม่ดี, คนนิสัยเลว ดังภาพด้านล่าง




สุดท้ายให้ลองคลิ้กที่คำศัพท์ตัวสุดท้าย ซึ่งก็คือ คำว่า Feel like A Fish Out Of Water ที่ Textbox ก็จะแสดงความหมายว่า รู้สึกไม่สบาย ดังภาพด้านล่างนี้เป็นต้น





เอาละครับ เป็นอันว่าโปรแกรมนี้ก็เสร็จสมบูรณ์แล้ว และก็เป็นไปตามวัตถุประสงค์ของเราที่วางไว้ทุกอย่าง...นั่นคือเราต้องการใช้ Excel สร้างโปรแกรม Dictionary ไทย อังกฤษ ขึ้นมา...แม้ว่าคำศัพท์ใน โปรแกรมDictionary อันนี้จะมีแค่ 3 คำ แต่เราก็สามารถที่จะ เพิ่มคำศัพท์ให้มากขึ้นเป็นร้อยเป็น พัน เป็นคำหรือเพิ่มจำนวนคำตามที่เราต้องการได้ ซึ่ง เราจะเพิ่มเข้าไปได้อย่างไรนั้นให้ทุกคนไปดูที่โค้ดน่ะครับ แล้วจะเข้าใจ สำหรับมือเซียนก็ถือกว่า เด็กๆครับ ส่วนมือใหม่ก็อาจต้องฝึกเล็กน้อย เพราะถือว่าโปรแกรมนี้เป็นโปรแกรมง่ายๆ ครับ ไม่ซับซ้อนอะไรแต่ก็ใช้งานได้จริง....

ปัญหาระหว่างที่พัฒนาโปรแกรมนี้ เราจะพบว่า Control textbox ไม่รองรับภาษาไทย และ บางเครื่องอาจไม่มี ฟอนท์ภาษาไทยที่ใช้ได้สำหรับ textbox ตัวนี้ ซึ่งเราอาจจะต้องไปหาฟอนท์ภาษาไทยมาติดตั้งเพิ่มให้กับ เครื่งอคอมของเราได้ครับ อย่างใน โปรแกรมนี้ผมใช้ font ที่ชื่อว่า Sp ThunderFox Bold ซึ่งถ้าใครไม่มีฟอนท์ชื่อนี้ก็ไปหาดาวน์โหลดจากอินเตอร์เน็ตได้ครับ ไม่ยากครับ หรือฟอนท์อื่นๆที่ทำให้ Textbox แสดงภาษาไทยก็ได้ครับไม่ว่ากัน.....

สำหรับวันนี้ต้องขอจบตัวอย่างนี้ไว้แต่เพียงเท่านี้ครับ แล้วพบกันใหม่