การใช้งานคำสั่ง SendKeys

มาลองใช้คำสั่ง SendKeys กันแบบง่ายๆ ดีกว่า (มีตารางเทียบ Special Key กับ Code ให้ด้วยครับ)
คุณสามารถส่งคำสั่งไปยังหน้าต่างที่กำลังทำงานอยู่ ได้เหมือนกับการที่ผู้ใช้กดปุ่มบนคีย์บอร์ด โดยการใช้คำสั่ง SendKeys เริ่มต้นง่ายๆ คุณลองสร้าง Project ใหม่ใน Visual Basic แล้วก็ใส่ Command Button ลงไปปุ่มนึงเสร็จแล้วใส่คำสั่งดังต่อไปนี้ให้กับ Command Button นั้น

Shell "notepad", vbNormalFocus
SendKeys "This is a test string"

คำสั่งดังกล่าวเมื่อรันแล้ว โปรแกรม Notepad จะเปิดขึ้นด้วยคำสั่ง Shell และคุณจะเห็นข้อความ 'This is a test string' อยู่ในโปรแกรม Notepad ถ้าคุณต้องการใช้ Special Key เราก็มีตารางเทียบให้อยู่ข้างล่างนี้ครับ

Key Code
BACKSPACE {BACKSPACE},{BS},or
{BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL or DELETE {DELETE} or
{DEL}
DOWN ARROW DOWN}
END {END}
ENTER {ENTER}or ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS or INSERT {INSERT} or
{INS}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
SHIFT +
CTRL ^
ALT size=2>%

หากคุณต้องการใช้ปุ่มพิเศษ (SHIFT,CTRL,ALT) คุณจำเป็นที่จะต้องสั่งคำสั่งแบบนี้
SendKeys "+(EC)"

หมายความว่า กด Shift แล้วกดปุ่ม E และ C แล้วปล่อยปุ่ม SHIFT ครับ

และหากว่าคุณต้องการกำหนดจำนวนครั้งในการกดปุ่มก็ให้เว้นวรรคจากชื่อปุ่มแล้วใส่ตัวเลขเช่น

SendKeys {LEFT 42}

หากคุณใช้โค้ดข้างบนนี้จะเป็นการกดปุ่ม Left Arrow 42 ครั้ง หรืออีกตัวอย่างหนึ่ง SendKeys {H 10} ก็จะได้ตัว H 10 ตัว ครับ

good

Post new comment

คำนวณผลบวกด้านบนแล้วกรอกผลลัพธ์ลงในช่อง เช่น 2 ลบ 1 ให้พิมพ์ 1