掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CommandButtonのKeyEventが発生しない (ID:102574)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> Keydownも同じKeyUpと同じ内容で書いています。 …? KeyDown と KeyUp の両方に、同じコードを書いているのですか? > コマンドボタンは制御用のダミー項目として使用 「制御用のダミー項目」というのは、どのような物を意図しているのでしょうか? > Private Sub 頁開始_KeyUp(Index As Integer, KeyCode As MSForms.ReturnInteger, Shift As Integer) Microsoft Forms 2.0 コントロールは使用しないでください。 標準コントロールか、または VB6 用に開発された ActiveX コントロールを 利用するようにするべきです。 MSForms 2.0 は VBA から利用されるものであって、VB6 からの利用を 想定したものではありません。Office や Service Pack のバージョン等にも 依存することになるので、動作的に不安定となります。 (なお、MSForms に関する動作不具合については、 Microsoft Knowledge Base 等を参照してください) 一例を挙げると、VB6 フォーム上に MSForms 版の TextBox を貼った場合に、 Shift + Tab でのコントロール遷移が正常に機能しない可能性があります。 # VB標準のForm + TextBox の組み合わせや、 # VBA UserForm + MSForms.TextBox の組み合わせでは問題なし。 どうしても VB6 から MSForms を使いたいのであれば、VB6 標準の フォームではなく、VBA の ユーザーフォーム上に貼り付けて 利用してください。これなら問題は少ないです。 (1) [プロジェクト(P)]-[コンポーネント(O)...]メニューで表示されるダイアログの、 「デザイナ」タブを開きます。(「コントロール」タブではありません)。 (2) その中の『Microsoft Forms 2.0 Form』にチェックを入れ、 ダイアログを [OK] で閉じます。 (3) [プロジェクト(P)]-[Microsoft Forms 2.0 Form]メニューを選択します。 プロジェクト エクスプローラに、VBA のユーザーフォームが追加されます。 (4) VBA Form のデザイナ画面を開き、MSForms 専用ツールボックスから、 必要なコントロールを貼り付けます。MSForms のツールボックスが 見当たらない場合は、フォームを右クリックして、[ツールボックス...]に チェックを入れると表示されます。 (5) あとは普通のフォームと同様に使用できます。 ただし、VB.Form と MSForms.UserForm、VB.TextBox と MSForms.TextBox とでは 使用できる機能に差があるので注意が必要です。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.