會在使用者按下 ANSI 鍵時發生。
語法
私有子物件 _KeyPress ( 由 ValKeyANSI作為 MSForms.ReturnInteger)
KeyPress 事件語法包含以下部分:
| 部分 | 描述 |
|---|---|
| 物件 | 必要。 有效物件。 |
| 關鍵ANSI | 此為必要動作。 一個整數值,代表標準數值 ANSI 金鑰碼。 |
註解
KeyPress 事件發生在使用者按下一個鍵,產生可打字的字元 (ANSI 鍵) 在執行表單上,而該表單或其上的控制項是焦點。 此事件可以發生在放開此按鍵之前或之後。 如果你在巨集中使用 SendKeys 動作或 Visual Basic 中的 SendKeys 陳述式 ,將 ANSI 按鍵傳送到表單或控制項時,也會發生此事件。
當按下以下任一鍵時,可能會發生 KeyPress 事件:
- 任何可列印的鍵盤字元
- CTRL 與標準字母表中的字元結合
- CTRL 與任意特殊字元結合
- BACKSPACE
- ESC
在下列情況下不會發生 KeyPress 事件:
- 按下TAB。
- 按下 ENTER。
- 按下方向鍵。
- 因為按下按鍵而讓焦點從某個控制項移到另一個控制項時
注意事項
退格鍵是 ANSI 字元集的一部分,但 DELETE 不是。 使用 BACKSPACE 刪除控制鍵中的字元會觸發 KeyPress 事件;用 DELETE 刪除角色就不會。
當使用者按住產生 ANSI 鍵碼的按鍵時,KeyDown 與 KeyPress 事件會反覆交替。 當使用者放開金鑰時,KeyUp 事件就會發生。 帶有對焦的形態或控制鍵會接收所有按鍵。 只有當一個形態沒有控制,或所有可見控制都被禁用時,才能擁有焦點。
KeyPress 事件的預設動作是處理對應被按下鍵的事件代碼。 KeyANSI 表示對應按下的按鍵或按鍵組合的 ANSI 字元。 KeyPress 事件將每個字元的大寫與小寫解讀為獨立的鍵碼,因此被視為兩個獨立的字元。
若要回應鍵盤的物理狀態,或處理 KeyPress 事件未辨識的按鍵,例如功能鍵、導航鍵,以及這些鍵與鍵盤修飾鍵 (ALT、SHIFT 或 CTRL) 的組合,請使用 KeyDown 和 KeyUp 事件程序。
鍵盤相關事件的順序如下:
- KeyDown
- KeyPress
- KeyUp
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。