วันพฤหัสบดีที่ 31 มีนาคม พ.ศ. 2559

#4 Hello World!!! Messagebox for VBA

ตอนนี้เราจะกล่าวถึง function สารพัดประโยชน์ ที่ใช้ตั้งแต่ฝึกหัดเขียนโปรแกรมจนถึงโปรแกรมที่ใช้งานจริงๆ นั้นคือ message box

ในแทบทุกภาษามักจะมี function เฉพาะ สำหรับเรียกใช้ message box นี่ก็เป็นอีก หนึ่งเครื่องยื่นยันว่า message box เป็นเครื่องมือที่ใช้บ่อยในวงการเขียนโปรแกรม

วัตถุประสงค์หลักๆของการใช้ message boxคือการส่งข้อความไปถึงผู้ใช้งาน(user) เผื่อให้ผู้ใช้งานรับทราบหรือตัดสินใจอะไรบางอย่าง

แล้วหน้าตา message box เป็นยังไง

จะเห็นได้ว่า message box บางครั้งมี แค่ ปุ่ม "OK" บางครั้ง มี "Yes" "No" หรือรูปแบบอื่นๆ

มันก็มีหน้าตาประมาณนี้ละครับ

Message box ใช้เมื่อไหร่บ้างละ

เราจะเห็น message boxได้ในหลายๆงาน
เช่นเวลา save file ทับ file เก่า

เตือนว่ามี error เวลาใส่ข้อมูลผิด

เตือนเวลาเราปิดโปรแกรมโดยที่ยังไม่ได้เซฟ

และยังมีวิธีการใช้ message box อีกมากมาย

เวิ่นเว้อมาเยอะแยะละ เรามาเริ่มการเขียนโปรแกรมกันเลยดีกว่า

Syntax
MsgBox(prompt[, buttons] [, title] [, helpfile, context])

*** วิธีการอ่านนะครับ ถ้ามี [ ] แปลว่าจะมีค่าหรือไม่มีค่าก็ได้นะครับ แต่ถ้ามารต้องมีค่าให้ครบในปีกกาเหลี่ยมนะครับ

Prompt (String) คือค่าที่เราอยากให้แสดงเพื่อที่จะแจ้งข้อมูลให้กับผู้ใช้ เราสามารถใส่อะไรไปก็ได้แต่ต้องเป็น string นะครับ

Buttons คือประเภทของปุ่มที่เราอยากให้แสดงนะครับ เช่น
vbOKOnly คือมีปุ่มโอเคปุ่ม OK ปุ่มเดียว
vbOKCancel คือมีปุ่ม OK กับ Cancel
vbYesNoCancel  คือมีปุ่ม Yea, No, Cancel
เอาละ เริ่มเดาง่ายแล้วใช่ไหมครับ งั้นลองทายอันนี้หน่อยครับ
vbRetryCancel มีปุ่มอะไรบ้างครับ

ปุ่ม Retry กับ Cancel (เย้ๆๆๆ ทายถูกกันใช่ไหมครับ)
คราวนี้เราก็เบิกใช้ได้ตามสะดวกนะครับ แต่อย่างไรก็ดีในตอนนี้ เราจะใช้เฉพาะ
vbOKOnly ก่อนนะครับ แล้ว Buttons ประเภทอื่นๆ จะเรียนใช้ในตอนที่เกี่ยวกับ 
Condition นะครับ

Title (String)
อันนี้คือส่วนหัวของ massage box ตามรูปข้างล่าง

เราใช้เพื่อให้ผู้ใช้งานสามารถเข้าใจสิ่งที่เดี๋ยวของได้ง่ายขึ้นครับ

[, helpfile, context] ใช้เพื่อเป็นข้อมูล เวลากด F1 นะครับ แต่รายละเอียดยังไม่ขอพูดในบทนี้นะครับ

เรามาดูตัวอย่าง code กันนะครับ

Sub learnMESSAGEBOX
Message box ไม่มี title
Messagebox มี title
Message box มี title และ เปลี่ยนปุ่ม


endsub

ไม่มีความคิดเห็น:

แสดงความคิดเห็น