Online Reference

Home

Microsoft Reference
Knowledge Developer Database Internet Resource Forum
VBA
Input / Output Function
ดาวน์โหลดคู่มือ

SendKeys Statement

VBA Statement, ส่งแป้นพิมพ์ไปที่ window เหมือนกับการกดปุ่มแป้นพิมพ์

ไวยากรณ์

SendKeys string [, wait]

ไวยากรณ์ประโยคคำสั่ง SendKeys มีรายละเอียดอากิวเมนต์ดังนี้

ส่วน รายละเอียด
string บังคับ, เป็น string expression ระบุแป้นพิมพ์ที่ส่ง
wait ไม่บังคับ, เป็นค่า Boolean ที่ระบุโหมดการคอย ถ้าเป็น False (ค่าเริ่มต้น) ต้อง control ได้รับการ ส่งไปที่ procedure ทันที ภายหลัง แป้นพิมพ์ได้รับการส่ง ถ้าเป็น True แป้นพิมพ์ต้องได้รับการประมวลผล ก่อนการส่งออกตัว control ไปที่ procedure

ลักษณะการประยุกต์

แต่ละแป้นพิมพ์ นำเสนอด้วย 1 ตัวอักษร หรือมากกว่า ในการระบุแป้นพิมพ์ตัวอักษร ใช้ตัวอักษรนั้น เช่น ตัวอักษร A ใช้ “A” สำหรับอากิวเมนต์ string การนำเสนอมากกว่า 1 ตัวอักษร ให้ใช้การต่อเพิ่มตัวอักษร เช่น การนำเสนอตัวอักษร A,B และ C ใช้ “ABC” สำหรับอากิวเมนต์ string

เครื่องหมายบวก (+), caret (^), เปอร์เซ็นต์ (%), tilde (~) และวงเล็บ ( ) มีความหมายพิเศษสำหรับ SendKeys การระบุตัวอักษรเหล่านี้ให้ปิดภายในเครื่องหมายปีก ({ })เช่น เครื่องหมายบวก ใช้ { + }, วงเล็บสี่เหลี่ยม ([ ]) ไม่มีความหมายพิเศษ สำหรับ SendKeys แต่ต้องอยู่ในเครื่องหมายปีกกา ในการประยุกต์อื่น วงเล็บสี่เหลี่ยมมีความหมายเฉพาะ ที่มีความสำคัญ เมื่อเกิด dynamic data exchange (DDE) การระบุเครื่องหมายปีกกาใช้ { { } และ { } }

การระบุตัวอักษรไม่แสดงขึ้นเมื่อมีการกดปุ่มแป้นพิมพ์ เช่น ENTER หรือ TAB และแป้นพิมพ์ที่นำเสนอการกระทำมากกว่าตัวอักษร ใช้รหัสตามรายการต่อไป

แป้นพิมพ์ รหัส
BACKSPACE {BACKSPACE}, {BS} หรือ {BKSP]
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL หรือ DELETE {DELETE} หรือ {DEL}
DOWN ARROW {DOWN}
END {END}
ENTER {ENTER} หรือ ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS หรือ INSERT {INSERT} หรือ {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}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}

การระบุแป้นพิมพ์ที่ใช้พร้อมกัน (Keys combined)ที่รวมกับปุ่ม SHIFT, CTRL และ ALT รหัสของแป้นพิมพ์ คือ

แป้นพิมพ์ รหัส
SHIFT +
CTRL ^
ALT %

การระบุแป้นพิมพ์ที่ใช้พร้อมกับปุ่ม SHIFT, CTRL และ ALT ควรจะกดลงหลายแป้นพิมพ์ในเวลากดปุ่ม ให้ล้อมรหัสเหล่านี้ด้วยวงเล็บ เช่น การระบุให้กดปุ่ม SHIFT ขณะที่ E และ C ได้รับการกดลงใช้ “ + (EC) “ การระบุให้กดปุ่ม SHIFT ขณะที่กดปุ่ม E ตามด้วย C ที่ไม่ใช่ SHIFT ใช้ “+EC”

การระบุแป้นพิมพ์ซ้ำ ใช้รูปแบบ (Key number) ต้องมีช่องว่างระหว่าง Key กับ number เช่น {LEFT 42} หมายถึง กดปุ่ม ลูกศรซ้าย 42 ครั้ง {h 10} หมายถึงกดปุ่ม H 10 ครั้ง

หมายเหตุ ไม่สามารถใช้ SendKeys เพื่อให้แป้นพิมพ์ไปที่โปรแกรมประยุกต์ ที่ไม่ได้รับการออกแบบ สำหรับการทำงานกับ Microsoft Windows และ SendKeys ไม่สามารถส่ง PRINT SCREEN {PRTSC} ไปที่โปรแกรมประยุกต์อื่น

ดูเพิ่มเติม

AppAcitve Statement, ฟังก์ชัน DoEvents

ตัวอย่าง

ตัวอย่างเป็นการใช้ฟังก์ชัน Shell เรียกใช้โปรแกรมประยุกต์ Calculator ของ Microsoft Windows คำสั่งใช้ประโยคคำสั่ง SendKeys เพื่อส่งแป้นพิมพ์ สำหรับบวกตัวเลข แล้วออกจาก Calculator ประโยคคำสั่ง SendKeys ไม่มีให้กับ Macintosh

Dim ReturnValue, i

' เรียกใช้ calculator
ReturnValue = Shell("CALC.EXE", 1)
AppActivate ReturnValue ' activate calculator

' กำหนด loop
For i = 1 To 100
  ' ส่ง key stroke ไปที่ calculator
  SendKeys i & "{+}", True
  ' เพิ่มค่าทีละ 1
Next i

' หาผลรวม
SendKeys "=", True
' ส่ง ALT+F4 เพื่อปิด calculator
SendKeys "%{F4}", True