0

テキストボックスを呼び出すSetFocusと、次のエラーがスローされます。

Run-time error '438':   
Object doesn't support this property or method. 

SetFocusExcel 2013 ですぐに利用できますか、それとも Excel のコンポーネントにパッチを適用したり更新したりする必要がありますか?

4

2 に答える 2

0

私はSetfocus()おそらくそのようなエラーを決してスローしないと思います!!


オブジェクトはこのプロパティまたはメソッドをサポートしていません (エラー 438)

このメソッドまたはプロパティは、この OLE オートメーション オブジェクトには存在しません。オブジェクトの詳細については、オブジェクトのドキュメントを参照し、プロパティとメソッドのスペルを確認してください。

ここにメソッドがあるので、このメソッドがいつ存在しないSetFocus()かを知る必要があります!


Office 2013 では、オブジェクトまたはそのコンテナーの 1 つが表示されていないか有効になっていない場合、次のエラーがスローされます。

実行時エラー '2110':
非表示 であるか、有効になっていないか、またはフォーカスを受け入れないタイプであるため、コントロールにフォーカスを移動できません。


そして、私がテストしたように、発生させてループを作成してEnter Eventもエラーは発生しません。また、同様のSetFocus()方法を使用する場合:

Private Sub TextBox1_Enter()
    TextBox2.SetFocus
End Sub

Private Sub TextBox2_Enter()
    TextBox1.SetFocus
End Sub

そして、私は他の理由を理解することはできません!

于 2015-04-14T15:20:35.060 に答える
0

この回答を参照してください: https://www.vbforums.com/showthread.php?646411-RESOLVED-How-can-I-make-setfocus-ot-Textbox-in-vba

結局のところ、Excel を使用していますが、ユーザーフォームではなくワークシートにテキストボックスがあります。Setfocus はユーザーフォームのテキストボックスに対して機能しますが、実際のワークシートにある場合は機能しません。setfocus の代わりに activate を試してください:

Private Sub CommandButton1_Click()
TextBox1.Activate
End Sub
于 2021-01-29T10:51:03.910 に答える