ผมทราบมาว่าอาจารย์ทำงานด้าน dev และเขียนโปรแกรมเป็นหลากหลาย จึงอยากปรึกษาหน่อยครับว่า อาจารย์ใช้หลักเกณฑ์ใดในการเลือกว่าจะแก้ปัญหาด้วยเอ็กเซล หรือโปรแกรม และงานที่อาจารย์เคยแก้ปัญหาด้วยเทมเพลทเอ็กเซลหลายๆอัน จำเป็นต้องกลับมาเขียนโปรแกรมหรือเปล่า และมีมุมมองยังไง
ประเด็นนี้เป็นหัวข้อคำถามที่น่าสนใจมากของเพื่อนสมาชิก snasui.com และคิดว่าหลาย ๆ องค์กรคงจะมีปัญหาลักษณะเช่นที่ว่านี้เหมือน ๆ กัน ซึ่งจะเกี่ยวข้องกับลักษณะของนโยบายและทิศทางในการบริหารของแต่ละองค์กรและแต่ละหน่วยงานในองค์กรนั้น
การที่หน่วยงาน IT ไม่นิยมสร้างเป็น Template ให้ผู้ใช้งานใช้ความน่าจะเป็นก็คือ อาจจะมี Template ที่หลากหลายสำหรับองค์กรขนาดใหญ่ นั่นหมายถึงว่าจำนวนไฟล์ Template จะมีปริมาณมหาศาลที่ต้องคอยดูแลและ Update ให้ตรงกับความต้องการของผู้ใช้งานในแต่ละที่แต่ละหน่วยงานอยู่เสมอ ซึ่งหากกำลังพลไม่พร้อมที่จะทำงานลักษณะนี้ย่อมจะมีความเสี่ยงที่จะถูกมองว่าไร้ประสิทธิภาพ
อีกประการหนึ่งที่สำคัญคือ หน่วยงาน IT อาจจะไม่มีผู้เชี่ยวชาญเฉพาะทางที่สามารถจะรองรับการพัฒนา Template เพราะการพัฒนา Template ในระดับสูงย่อมจะต้องใช้การเขียนโปรแกรมเข้าไปจัดการ และเมื่อต้องเขียนโปรแกรมเข้าไปจัดการ ผู้พัฒนาจำเป็นจะต้องมีความรู้อย่างลึกซึ้งเกี่ยวกับ Excel และมีความเชี่ยวชาญพอที่จะรับหน้าที่นี้ได้เป็นอย่างดี หากได้สัมผัสกับความต้องการของผู้ใช้ที่ซับซ้อนและหลากหลายแล้วจะเข้าใจในประเด็นที่กล่าวมานี้
หน่วยงาน IT อาจจะคำนึงถึงเรื่องการพัฒนา Template ให้กับผู้ใช้ว่าเมื่อถึงระยะเวลาหนึ่งที่มี Template ครอบคลุมงานที่จำเป็นต้องใช้ Template แล้ว งานส่วนใหญ่ของ IT จะกลายเป็นการ Maintain แทนการพัฒนา ซึ่งงาน Maintain ให้ Template สามารถใช้งานได้ไม่ติดขัด ผู้บริหารหน่วยงาน ผู้บริหารองค์กรมองว่าเป็นงานที่มีมูลค่าต่ำกว่าการ Maintain ระบบขนาดใหญ่ที่ใช้ร่วมกันทั้งองค์กร ต่างจากการรวบรวม Requirement แล้วสร้างเป็นโปรแกรมขนาดใหญ่ให้ผู้ใช้งานใช้ร่วมกันทั้งองค์กรมักจะมองว่ามีคุณค่า ยิ่งใหญ่ เป็นระบบ และมีความยั่งยืนมากกว่าจึงให้ความสำคัญมากกว่า การนำเสนอต่อผู้บริหารระดับสูง การของบประมาณ ขอกำลังพลในการทำ Project ทำได้ง่าย
ในการแก้ปัญหาด้วย Excel หรือเขียนเป็นระบบในมุมมองของหลายหน่วยงานมักจะพิจาณาถึงประโยชน์การใช้งานในวงกว้าง เช่นการใช้งานหลายหน่วยงานหรือเป็นการใช้งานร่วมกันทั้งองค์กรหรือไม่ เชื่อมต่อกับระบบอื่น ๆ หรือระบบหลักขององค์กรแบบ Real time แบบ Online เป็นงานที่ต้องใช้ร่วมกับหน่วยงานที่อยู่ต่างประเทศหรือไม่ เป็นต้น
การพัฒนาโปรแกรมด้วย Excel ทำได้เร็วและประหยัดกว่าการเขียนโปรแกรมขึ้นมาใหม่ทั้งหมดแน่นอน เพราะเป็นการเขียนแบบต่อยอดไม่ใช่ตั้งต้นเขียนใหม่ แต่จะต้องจัดการเรื่อง Version ที่ใช้งานให้ดี ปกติแล้วเพื่อให้จัดการได้ง่ายจึงควรจะวางไว้ที่ Server แล้วให้ผู้ใช้งานที่เกี่ยวข้องดาวน์โหลดไปใช้ได้สะดวก
ปัญหาเรื่องความปลอดภัยก็จะมีเกี่ยวกับความลับของข้อมูลที่อาจจะแพร่ออกไปได้ง่าย เนื่องจากสามารถที่จะส่งผ่านอีเมลหรือ Copy ใส่ Thumb Drive ไปได้ กรณีการป้องกันใน Excel สามาถปลด Lock ได้ทั้งที่เป็นการ Lock Sheet และ Lock ที่ VBA Project แต่หาก Lock ตอนเปิดไฟล์จะค่อนข้างปลอดภัย ซึ่งปกติแล้วผู้พัฒนาระดับมืออาชีพจะไม่เก็บสิ่งสำคัญเช่น Connection และ Password ในการติดต่อระบบต่าง ๆ เอาไว้ในส่วนหนึ่งส่วนใดของไฟล์โปรแกรม แต่จะเลือกการใช้ Web Service เพื่อเป็นตัวกลางในการติดต่อฐานข้อมูลหรือระบบอื่น ๆ แทน
ระบบงานที่ทำเป็น Template แล้วก่อให้เกิดความสะดวกต่อผู้ใช้โดยส่วนใหญ่แล้วจะเป็นการจัดการหรือแปลงข้อมูลเพื่อนำเข้าระบบหลักของกิจการพร้อม ๆ กันเป็นจำนวนมาก เช่นนำเข้าระบบ SAP, Data Warehouse, ระบบการการตรวจสอบและแยกแยะข้อมูล การรวบรวมข้อมูลในปริมาณมหาศาลเช่นตรวจสอบ Vat, ระบบการทำหมายเหตุประกอบงบการเงินซึ่งเป็นระบบใหญ่มีความยุ่งยากซับซ้อนสูง สามารถดูเป็นภาพรวมกลุ่มธุรกิจ ภาพย่อยรายบริษัทได้
ความเห็นส่วนตัวในการทำเป็น Template ให้กับผู้ใช้งานซึ่งเป็นไฟล์โปรแกรมย่อยเล็ก ๆ กับการทำระบบขนาดใหญ่ว่าอย่างไหนสำคัญกว่ากัน ผมให้ความสำคัญไม่ต่างกัน ความคิดเช่นนี้อาจจะกล่าวด้วยความลำเอียง ทั้งนี้เพราะผ่านการเขียนไฟล์จำนวนมากทั้งในระดับที่ใช้แก้ปัญหาทั่ว ๆ ไปและไฟล์โปรแกรมระบบงานที่ซับซ้อนสูง ต้องการความปลอดภัยสูง จึงมีมุมมองว่าสำหรับโปรแกรมขนาดเล็กที่ใช้เพื่อจัดการความถูกต้องแม่นยำของข้อมูล แปลงข้อมูล นำเข้าข้อมูล การรายงานผล มีความสำคัญสูงมาก หากนำเข้าข้อมูลไม่ทัน หรือนำเข้าได้ทันแต่ผิดพลาด ข้อมูลเหล่านั้นไม่สามารถนำไปใช้งานได้ หากผิดพลาดตั้งแต่ต้นทาง โปรแกรมหลักขององค์กรจะแสดงข้อมูลที่ถูกต้องขึ้นมาได้อย่างไร หรือนำข้อมูลมาทำรายงานผิด ไม่ทันเวลา สามารถที่จะนำข้อมูลนั้นไปใช้ในการบริหารจัดการได้อย่างไร ผมจึงให้ความสำคัญของการพัฒนาโปรแกรมด้วย Excel ไม่ยิ่งหย่อนไปกว่าการพัฒนาโปรแกรมขนาดใหญ่ด้วยประเด็นดังกล่าวนี้
อย่างไรก็ตาม สิ่งที่กล่าวมานั้นไม่ได้เป็นการสรุปว่ามีแค่โปรแกรมที่สร้างด้วย Excel ก็เป็นการเพียงพอ สามารถนำมาทดแทนโปรแกรมขนาดใหญ่ได้แต่อย่างใด เพียงแต่ชี้ให้เห็นถึงความสำคัญของการพัฒนาโปรแกรมด้วย Excel เพื่อเป็นเครื่องมือให้กับผู้ใช้ว่า เป็นความสามารถเฉพาะทาง เป็นงานที่ต้องการความเชี่ยวชาญสูงทั้งมีความสำคัญมากเช่นเดียวกัน
Source: เหมือนฝ่าย developer ไม่ค่อยยอมรับการสร้างเทมเพลตเอ็กเซลระดับสูงให้ user ใช้ – snasui.com
กรณีมีปัญหาการใช้งาน Excel and VBA สามารถสอบถามได้ที่ Excel Forum