Step37 ユーザーフォーム テキストボックスのIME入力モードの設定: Excel請求書

ユーザーフォームに作成したテキストボックスに日付を入力しますが、IMEモードを毎回切り替えなくてもいいように、自動的に半角入力できるよう設定します。

IMEモードの設定はIMEModeプロパティで行います。設定値は下記になります。

fmIMEModeNoControl 0 IME のモードを変更しません
fmIMEModeOn 1 IME をオンにします
fmIMEModeOff 2 IME をオフにして英語モードにします
fmIMEModeDisable 3 IME をオフにします。このモードにすると、キー操作で IME をオンにすることができなくなります
fmIMEModeHiragana 4 全角ひらがなモードで IME をオンにします
fmIMEModeKatakana 5 全角カタカナ モードで IME をオンにします
fmIMEModeKatakanaHalf 6 半角カタカナ モードで IME をオンにします
fmIMEModeAlphaFull 7 全角英数モードで IME をオンにします
fmIMEModeAlpha 8 半角英数モードで IME をオンにします
fmIMEModeHangulFull 9 全角ハングル モードで IME をオンにします
fmIMEModeHangul 10 半角ハングル モードで IME をオンにします


Homeに戻る > Excelでアプリケーションソフト3 > 請求書アプリ

作成画面

■ユーザーフォームの実行方法

ユーザーフォームを実行するには、デザイン画面にしメニューの[Sub/ユーザーフォームの実行(F5)]をクリックします。

■ユーザーフォーム テキストボックスのIMEモードの設定

作成したユーザーフォームを実行し、テキストボックスに移動すると「ひらがな」モードになる場合があります。 
日付は半角入力なので、半角モードになるようにあらかじめIMEモードを設定しておきます。


フォームのデザイン画面で空白部分をダブルクリックします。


VBAコードの入力画面になります。


バグ防止の為に、先頭に「Option Explicit」を入力しておきます。
これで変数を使用する場合、Dimまたは ReDim で宣言しておく必要があります。もし入力ミスなどで宣言しない変数を使用すると、コンパイル時にエラーになりバグを防止できます。



UserFormのプロシージャで[Initalize]を選択します。 [Initalize]はフォームを読み込む時に発生するイベントです。
ここにIMEモードの設定を入力しておけば、フォームが開く前に設定できます。


Private Sub UserForm_Click()

End Sub
の部分は使わないのでそのままでも構いませんが、長いコードの場合見にくくなるので削除しておきます。


テキストボックスのIMEモードを設定するコードを入力します。 ここではOFFにしました。
Me.TextBox1.IMEMode = fmIMEModeOff
Me.TextBox2.IMEMode = fmIMEModeOff

■設定したユーザーフォームを実行する

ユーザーフォームを実行し、テキストボックスに入力すると半角入力になります。

[関連リンク]

IMEがONかOFFかを調べる
ユーザーフォーム関連 Tips


Homeに戻る > Excelでアプリケーションソフト3 > 請求書アプリ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved