共用方式為


KeyPress 事件

會在使用者按下 ANSI 鍵時發生。

語法

Private Sub物件 _KeyPress ( ByValKeyANSIAs MSForms.ReturnInteger)

KeyPress事件語法包含下列部分:

部分 描述
物件 必要。 有效物件。
KeyANSI 此為必要動作。 表示標準數值 ANSI 金鑰代碼的整數值。

註解

KeyPress 事件會在使用者按下鍵時發生,該按鍵會產生可輸入的字元, (執行中表單上的 ANSI 鍵) ,而表單或其上的控制項具有 焦點。 此事件可以發生在放開此按鍵之前或之後。 如果您使用宏中的 SendKeys 巨集指令或 Visual Basic 中的 SendKeys 語句 ,將 ANSI 按鍵傳送至表單或控制項,也會發生此事件。

按下下列任一按鍵時,可能會發生 KeyPress 事件:

  • 任何可列印的鍵盤字元
  • CTRL 與標準字母中的字元結合
  • CTRL 與任何特殊字元結合
  • BACKSPACE
  • ESC

在下列情況下不會發生 KeyPress 事件:

  • 按 TAB 鍵。
  • 按 ENTER 鍵。
  • 按下方向鍵。
  • 因為按下按鍵而讓焦點從某個控制項移到另一個控制項時

注意事項

BACKSPACE 是 ANSI 字元集的一部分,但 DELETE 不是。 使用 BACKSPACE 刪除控制項中的字元會導致 KeyPress 事件;使用 DELETE 刪除字元並不會。

當使用者按住產生 ANSI Keycode 的金鑰時,KeyDown 和 KeyPress 事件會重複替代。 當使用者放開金鑰時,會發生 KeyUp 事件。 具有焦點的表單或控制項會接收所有按鍵。 只有當表單沒有控制項,或其所有可見的控制項都已停用時,表單才能擁有焦點。

KeyPress 事件的預設動作是處理對應至按下之索引鍵的事件程式碼。 KeyANSI 表示對應至按下按鍵或按鍵組合的 ANSI 字元。 KeyPress 事件會將每個字元的大小寫解譯為個別的按鍵碼,因此會解譯為兩個不同的字元。

若要回應鍵盤的實體狀態,或處理 KeyPress 事件無法辨識的按鍵,例如函式按鍵、流覽鍵,以及這些與鍵盤修飾詞 (ALT、SHIFT 或 CTRL) 的任何組合,請使用 KeyDown 和 KeyUp 事件程序。

鍵盤相關事件的順序如下:

  1. KeyDown
  2. KeyPress
  3. KeyUp

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應