• 締切済み

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で、入力文字は半角数字です。 原因がわからない為、コードでの文字代入ができなくて困っています。 なぜなのかまったくわかりません。 よろしくお願いします。

みんなの回答

  • 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 のコードを入れる場所によっては「フォーカスを移動する事は出来ません」のエラーが出てしまうかも…

関連するQ&A