SSブログ

Access小僧:CapsLock, NumLock, IMEモードを設定(2) [コンピューター]

Accessのフォームのテキストボックスがフォーカス取得したら、
・CapsLock:OFF
・NumLock:ON
・IMEモード:半角英数、または、全角ひらがな
に設定するVBAで、別のリストボックスで何が選択されているかで、テキストボックスのIMEモードを切り替えられるようにしてみました。

【前回の記事】
Access小僧:CapsLock, NumLock, IMEモードを設定

変更したのは、フォームのクラスオブジェクトだけです。

【フォームのクラスオブジェクト】
Private Sub 検索_GotFocus()
  '【機能】フォーカス取得後、IMEModeを設定、NumLockをON、CapsLockをOFF
  '【変数】
  Dim Name1 As String ' 名前
  Dim Obj1 As Object ' オブジェクト
  Dim myLI1 As Integer ' ListIndexの値
  Dim myImeMode1 As Integer 'IME modeの値
  '【実行コード】
  myLI1 = [FieldName1].ListIndex
  Debug.Print "[FieldName1].ListIndex=" & myLI1 & "[検索_GotFocus]"
  Select Case myLI1
    Case 0: Debug.Print "myLI=0(PW_Mng_ID) [検索_GotFocus]"
    Case 1: Debug.Print "myLI=1(題名) [検索_GotFocus]"
    Case 2: Debug.Print "myLI=2(パスワードNew) [検索_GotFocus]"
    Case 3: Debug.Print "myLI=3(パスワードOld) [検索_GotFocus]"
    Case 4: Debug.Print "myLI=4(パスワードNew更新日) [検索_GotFocus]"
    Case 5: Debug.Print "myLI=5(X日以上経過) [検索_GotFocus]"
    Case 6: Debug.Print "myLI=6(頭文字) [検索_GotFocus]"
  End Select
  Select Case myLI1
  Case 0, 2, 3, 4, 5, 6
    myImeMode1 = acImeModeAlpha ' 8
  Case 1
    myImeMode1 = acImeModeHiragana ' 4
  Case Else
    myImeMode1 = acImeModeAlpha ' 8
  End Select
  Name1 = Me.ActiveControl.Name ' アクティブなコントロールの名前
  Debug.Print "Name1=" & Name1 & " [検索_GotFocus]"
  Set Obj1 = Me.検索 ' このコントロールのオブジェクト
  Debug.Print "Obj1.Name=" & Obj1.Name & " [検索_GotFocus]"
  Call mySChkKey1(Name1, Obj1, myImeMode1) ' IMEMode(全角ひらがな)を設定、NumLockをON、CapsLockをOFF
  Set Obj1 = Nothing ' オブジェクト変数を解放
End Sub

注1;テキストボックスの名前は「検索」です。
注2:リストボックスの名前は「FieldName1」です。
注3:IMEモードを全角ひらがなにする場合は、mySChkKey1の第3引数をacImeModeHiraganaにする。
タグ:VBA access
ヤバイぜ!(9)  コメント(1) 
共通テーマ:パソコン・インターネット

ヤバイぜ! 9

コメント 1

cheese999

ヤバイぜ!、ありがとうございます。
(^^)/
by cheese999 (2023-10-14 22:02) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字(英大文字の「オー」、英小文字の「ユー」、アラビア数字の「ハチ」、アラビア数字の「イチ」、アラビア数字の「ニ」)を入力してください。

Facebook コメント

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。