- 締切済み
Changeプロシージャでのトラブル?
以下のコードでトラブル中です。 Private Sub text1_Change() If Len(text1.Text) = 6 Then text2.SetFocus End Sub 1:プログラムを実行し、手動でtext1に6文字入力すると一切のエラーは発生せずtext2にフォーカスが移ります。 2:プログラムを実行し、コードでtext1に6文字代入すると実行時エラー5(プロシージャの呼出、または引数が不正です。)が発生し、フォーカスは移りません。 いずれの場合もtext2のEnabledはtrueで、入力文字は半角数字です。 原因がわからない為、コードでの文字代入ができなくて困っています。 なぜなのかまったくわかりません。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- todo36
- ベストアンサー率58% (728/1234)
回答No.2
Formが生きていないときに text2.SetFocus はエラーになる form_load内とか showの前とか
- chie65536
- ベストアンサー率41% (2512/6032)
回答No.1
フォーカスを持たないテキストボックスのテキストに文字列を入れると、色々と変なエラーが出たような気がします。 試しにtext1への代入の前に text1.SetFocus を入れてみて下さい。 text1.SetFocus text1.Text = "ABCDEF" のように。 「気がする」だけで、これじゃ直らないかも知れませんが…。 それに、text1.SetFocus のコードを入れる場所によっては「フォーカスを移動する事は出来ません」のエラーが出てしまうかも…