• 締切済み

VBA IMEとSetfocusについて

VBAでユーザーフォームを作っています。 フォーム中のテキストボックス1に、プロパティからIMEモードをひらがなに設定しているのですが、SetFocusでテキストボックス1にフォーカス状態にして文字を入力すると何故か半角英数字になってしまいます。 その状態から一旦別のテキストボックスをクリックして、再度テキストボックス1をクリックするとひらがな入力に直ってます。 何故このような現象が起きるのでしょうか?

みんなの回答

回答No.2

ごめんなさい よく読んでおりませんでした 私のではなりませんよ。

回答No.1

プロパティのウィンドウは開けますか? この中にIMEmodeというのがあります。 ここでセットしてみては?

関連するQ&A

  • Access2010 SetFocusが当たらない

    Access2010です。 VBAにて、あるフォームの、デザイン上、「詳細」の中に存在しているテキストボックスにSetFocusでフォーカスを当てようと思ってます。 1 フォームロード時、フォームの「詳細」は非表示(当然、テキストボックスも非表示) 2 ボタンクリック時、フォームの「詳細」を表示し、テキストボックスにフォーカスを当てる という動作をしているのですが、2でテキストボックスにフォーカスがフォーカスが当たりません。どうしたらフォーカスが当たるのでしょうか? 以下、コードです。 Private Sub Form_Open(Cancel As Integer) Me.詳細.Visible = False End Sub Private Sub cmdボタン_Click() Me.詳細.Visible = True 'テキストボックスにフォーカスを当てる Me.txtテキスト.SetFocus End Sub よろしくお願いいたします。

  • ACCESS フォーム上 テキストボックスを移動するごとに文字の入力モードが戻ってしまう

    ACCESSでフォーム上で入力をしています。 テキストボックスを移動するごとに半角英数になってしまい非常に不便です。 テーブルではIME入力モード:ひらがな、IME返還モード:一般としています。 テーブルのデザインビューの状態では指定している通りのひらがなで入力できるのが、フォームになると半角英数の状態です。 フォームのプロパティから何か設定を変更しなければいけないのでしょうか? よろしくお願い致します。

  • Vba UserForm SetFocus

    ExcelのVbaでUserForm上に英単語のタイピング練習のソフトを作ろうとしていますが、うまくいきません。コントロールのイベントについての理解が不足しているのが分かりました。 ユーザフォーム上の複数のテキストボックス間のフォーカスの移動について教えて下さい。 UserForm1にテキストボックスを3つ、コマンドボタンを1つ配置しました。それぞれTextBox1、TextBox2、TextBox3、CommandButton1とします。 Private Sub CommandButton1_Click() TextBox3.SetFocus ・・・(1) End Sub Private Sub TextBox3_Enter() MsgBox "In TextBox3" TextBox2.SetFocus ・・・(2) End Sub 各TextBoxのTabStopプロパティは「True」、「TabIndex」は番号順になっています。 コマンドボタンのTabStopプロパティは「False」にしています。 フォームを表示し、コマンドボタンをクリックするとエラーが発生します。 (2)の実行の後(?)、(1)がエラー表示されます。 各イベントの発生のタイミング、連鎖、終了等の理解が不足していて、その理由がよく分かりません。どなたか教えていただけないでしょうか。よろしくお願いします。

  • Access フォームのテキストボックスに半角英字のみで入力する設定は

    IME入力モードをテーブル・フォームともオフにしたのですがひらがな入力モードになってしまいます。 フォームのテキストボックスに半角英字のみで入力する設定としてプロパティのIME入力モードをオフにするやり方自体が間違っているのでしょうか。 それともATOKを使っているなど利用するパソコン側の問題でしょうか

  • Setfocus について

    お世話になります。 Access2000でVBAを書いています。 ユーザがテキスト1に商品番号を入れます。ここで商品番号が8桁指定なので Dim Keta As Intger Keta = Len(テキスト1) If Keta <> 8 Then Msgbox"???" テキスト1.SetFocus End If と書きました。 しかし、SetFocusが効きません。他のテキスト(例えば、テキスト2)などにフォーカスを飛ばすことは テキスト2.SetFocus でいくのですが、自分のところに フォーカスを戻すのはなにか特別なコマンドがあるのですか? ご指導、お願いします。

  • エクセルVBAでIME入力モードの制御

    エクセルVBAでIME入力モードの制御について教えてください。 Sub IMEの現在の状態() 状態 = IMEStatus() MsgBox 状態 & "です", vbInformation, "IMEの現在の状態" End Sub これでIMEStatus関数の戻り値が 1 オンの状態 2 オフの状態 4 全角ひらがな入力モード 5 全角カタカナ入力モード 6 半角カタカナ入力モード 7 全角英数入力モード 8 半角英数入力モード であることがわかりましたが、逆にIMEの状態を設定するにはどのように記述すればいいのでしょうか? たとえば、Sheets("AAA").Range("B1:B20")は「半角英数入力モード」にする場合。 DialogSheets("GGG")のダイアローグを呼び出したとき、その中のEditboxes("HHH")には「全角ひらがな入力モード」。 などです。 よろしくお願いします。

  • Access 自動ふりがな入力について

    お世話になります。 Access2010 フォーム上に「氏名」及び「フリガナ」のテキストボックスを設置しました。 「氏名」のふりがなプロパティで「フリガナ」を指定し、ふりがなの文字種は 半角カタカナとしてます。 「氏名」を入力すると自動的に「フリガナ」にふりがなが入力されます。 ここまではよいのですが、いったん「フリガナ」テキストボックスを選択し 再度「氏名」に入力すると文字変換できなくなってしまいます。 例えば氏名に「山田 太郎」と入力したいのに変換されず半角カタカナで 「ヤマダ タロウ」となります。要するに、「フリガナ」のIME入力モードが そのまま引き継がれている感じです。 「氏名」に限らず他のテキストボックスでも半角カタカナ入力になって しまいます。 いったんこうなってしまうとフォームを開きなおしてもダメで、Access自体を 開きなおすと変換できるようになります。 結果的には、氏名のプロパティにある「IME入力モード保持」を、"いいえ"から "はい"に変えたところ、変換できるようになりました。 当該フォームは実際にはテキストボックスが沢山あり、さらにサブフォームも 沢山あります(サブフォームにもテキストボックスが沢山。。) これらすべてのプロパティで「IME入力モード保持」を"はい"に変更しなけ ればならないのでしょうか。 それともプロパティで自動入力させず、VBAでやった方がよいのでしょうか。 VBAでのやり方は分かるのですが、せっかく自動でふりがな入力できる プロパティがあるので使ってみたらうまくいかない・・って感じです。 ご教示の程、宜しくお願い致します。

  • ACCESS2000にてIME入力モードが変?

    ACCESS2000を使用しています。よくある話とは思うのですが、フォームにてIME入力モードが意図しない「A」に変わってしまいます。もちろんフォームのテキストボックス(プロパティ)ではIME入力モード「オン」としています。「オフ」のテキストボックスでツールバーの入力モードは「あ」から「A」に変わります。IME入力モードが「オン」のテキストボックス「あ」に戻らないのです。 この問題の対処法とショートカットキーで「A」から「あ」に変えられる方法をご存じでしたら教えてください。どちらか片方でも宜しくお願いします。

  • form内のtextボックス

    にフォーカスが移った直後に textボックスの入力モードを 半角英数字入力モードにする方法を教えてください また form内のtextボックス にフォーカスが移った直後に textボックスの入力モードを 日本語入力モードにする方法を教えてください

  • IME2000について・・・

    いままで半角全角ボタンを押すと、IME2000が開いて入力モードのところがひらがなになっていたのですが、突然開くたびに半角英数になってしまいました。 今は入力のたびにカタカナひらがなボタンを押してひらがなにしています。 IMEをひらいたときに初めからひらがなモードに設定するにはどうしたらいいのですか?よろしくおねがいします。

専門家に質問してみよう