Page 106 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼Tab移動が出来なくなる罠。 こうすけ 02/9/19(木) 11:42 ┗Re:Tab移動が出来なくなる罠。 つん 02/9/20(金) 10:04 ┗Re:Tab移動が出来なくなる罠。 こうすけ 02/9/20(金) 11:06 ┗Re:Tab移動が出来なくなる罠。 ichinose 02/9/20(金) 17:09 ─────────────────────────────────────── ■題名 : Tab移動が出来なくなる罠。 ■名前 : こうすけ ■日付 : 02/9/19(木) 11:42 -------------------------------------------------------------------------
こんにちは。またお世話になります(−−;; 非常にレアな現象ですが、 1.フォーム上のテキストボックスに何か書き込む 2.次のテキストボックスへ移動したいので、Tabキーを押下してみる ・・・とやると、何故かテキストボックス内でTabが有効になり、 次のテキストボックスへ移動出来なくなる事があります。 (つまりテキスト内にTabスペース?が書き込まれてしまいます) この現象に遭遇した方はいらっしゃいますでしょうか? 本当にたまにしか現象が発生してくれないので、全く調査出来ずに困っています(T−T ちなみに該当テキストボックスでは、以下の処理を行っています。 ※現象は97,2K,XPで確認されており、全バージョン同一ソースです。 ---------------- Sub TextBox1_Change() Dim ret As String ret = Textbox_C(TextBox1.Text, 34) TextBox1.Text = ret End Sub ------ '概要 − テキストボックスChange処理 '引数 − TextData:入力値、length:長さ '復帰値 − 前から34byte(全角で17文字分)の文字 Function Textbox_C(TextData As String, length As Integer) '変数宣言 Dim ret_str As String Dim wrd_str As String Dim idx_int As Integer Dim cnt_int As Integer '入力文字数制御 cnt_int = 0 ret_str = "" For idx_int = 1 To Len(TextData) Step 1 wrd_str = Mid(TextData, idx_int, 1) If (Asc(wrd_str) >= 0) And (Asc(wrd_str) <= 255) Then cnt_int = cnt_int + 1 Else cnt_int = cnt_int + 2 End If If cnt_int > length Then Exit For Else ret_str = ret_str & wrd_str End If Next idx_int Textbox_C = ret_str End Function ---------------- |
こうすけさん、おはようございます。 こうすけさんのコードを試してみましたが、 こちらでは、Tabは正常に動作しました。 で、ちょっくらテキストボックスのプロパティをいろいろ見てみたのですが、 「TabKeyBehavior」がTrueになっていた場合、こうすけさんのおっしゃってるような動作になるようです。 もしかしたら、それが原因じゃないかな・・・・? 一度確かめて見てください。 デフォルトはFalseなんで、変更された覚えがないなら、違うかも・・・ |
つんさん、おはようございます&ご回答ありがとうございます(^^ >こうすけさんのコードを試してみましたが、 >こちらでは、Tabは正常に動作しました。 そうですよねぇ・・・ 私のマシンでも現象が全く出ず、テスト部隊でも頻発はしていないそうです(−−;; >で、ちょっくらテキストボックスのプロパティをいろいろ見てみたのですが、 >「TabKeyBehavior」がTrueになっていた場合、こうすけさんのおっしゃってるような動作になるようです。 > >もしかしたら、それが原因じゃないかな・・・・? >一度確かめて見てください。 > >デフォルトはFalseなんで、変更された覚えがないなら、違うかも・・・ そこは一番に確認したんですが、Falseのままでした。 現象が頻発しない以上、この問題は解決不可能な気がしてきました・・・ 個人的にはMicroSoftが発見しているExcel障害を期待していましたが、 そういったレポートも掲載されていないようですw 私のほうも、ここまでかなぁ、と諦め気味です、、、 以上、お手数おかけいたしました。 お付き合い頂きまして、本当にありがとうございます。 |
▼こうすけ さん: つんさん、こんにちは。 私も何度か経験があります。 環境は、Win98のExcel2000です。 フォームには、15個程度のテキストボックスとSpreadsheetを貼り付けてありました。 これ、同じブックを転送してNTで確認すると正常に作動したとの事でした。 Win98の環境下、当該フォームモジュールを簡単な修正(例えば、a=a+1のようなコードを挿入)後、保存し、一度、閉じて再度 立ち上げたところ正常に動作しました。 やっぱり、バグ? |