• ベストアンサー

VB6.0 コマンドボタンを追加したい

こんばんは FormOpenイベントの際に処理によって異なる数のコマンドボタンをフォーム上に表示させたいと思っています。 あらかじめ MAXの数だけフォーム上に設置して、表示、非表示するという方法もあるかと思いますが、記述することによってコマンドボタンを複数個新規作成後、表示させたいと思っています。 記述もしくは参考になるHP等がありましたら教えてください よろしくお願いいたします

  • atyan
  • お礼率20% (1/5)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

動的コントロール配列を使用すれば可能です。 フォーム上に Command1(0) というコントロール配列が存在する場合、下記のコードで Command1(1) ~ (4) を動的に生成できます。 Private Sub Form_Load()   Dim i  As Long      For i = 1 To 4     Load Me.Command1(i)          With Me.Command1(i)       .Top = Me.Command1(0).Top + .Height * i       .Visible = True     End With   Next End Sub 【注意点】 ・Visible = True に設定しないと可視状態とならない。 ・Top プロパティ、 Left プロパティを設定するか、または Move メソッドで移動するかしないと、同じ位置に重なって表示される。 ・コントロール配列でないコントロールは Load / Unload による動的生成 / 破棄はできない。(実行時エラーとなる) ・「動的」コントロール配列の名の通り、ソースコードの静的解析は困難。動的コントロール配列の使用でメリットが生じるか否かはケースバイケースですが、適用は慎重に。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

CreateControlをキーワードにして、WEB照会してみてください。 For Nextで所定回数繰り返す。 VBAでだけできたのかVBでもできたのか、記憶が薄れていますのが、朝時間がなく調べられないのでよろしく。

関連するQ&A

  • コマンドボタンの機能について

    22歳男性です。 asp.netのボタンについて質問します。 今、webサーバコントロールの勉強を以下のサイトを見ながら行っております。 http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet06/aspnet06_04.html それで、このサイトには、「コマンドボタン」なるものが登場します。 このサイトでコマンドボタンは、「複数のコマンドボタンを1つのイベントハンドラにまとめて処理をする」と書かれています。 しかし、現状私は、コードビハインドを採用しておりますので、サイトのページインラインのように、一つのイベントハンドラに複数の処理をまとめて記述する方法が思いつきません。 コードビハインドを採用している私でも、一つのイベントハンドラに複数の処理をまとめて記述する方法をお教え願います。

  • VB6 コマンドボタン クリックイベントについて

    教えてください。 フォームに貼り付けているコマンドボタンのクリックイベントについてですが、クリックイベント内の処理で処理に時間がかかります。コマンドボタンを1度クリックすると、この処理を実行します。この状態であれば、問題ないのです。ところが、コマンドボタンを押して、処理している間にコマンドボタンを連打すると、ずーっと同じ処理を繰り返してしまいます。 クリックイベントが待ち行列にたまっているように思えるのですが、 これを回避する方法などがあれば教えてください。 ・待ち行列をクリアするとか ・待ち行列にイベントがたまっていても、1度しか実行しない。 などなど、具体的な方法とサンプルコードなどを教えていただけないでしょうか。お願いします。 環境VB6 WIN2K です。

  • コマンドボタンがきかなくなる

    アクセスのフォーム上にコマンドボタンがいくつかあります。 たまにですが、コマンドボタンを押しても何も反応しなくなる時があります。 プロパティでクリック時に[イベント プロシージャ]と書いてあり、 VBE画面を見てみると ちゃんとイベントが記載してあります。 しかしフォームビューにしてそのコマンドボタンをクリックすると何も起きません。 新規にコマンドボタンを作って、vbe画面で同じイベントを張り付けると 新規のコマンドボタンのほうではクリックしてイベントが実行されます。 だから、その新規のコマンドボタンの名前を変えて使い続けるのですが、 しばらくするとほかのコマンドボタンがまたきかなくなる時があります。 これはアクセスのバグでしょうか? 原因がわかりません。 バージョンは2010です。

  • アクセスのコマンドボタンについて

    アクセスについて教えて下さい。 コマンドボタンで、フォームのデータをワンクリックで開くように設定したいのですが、コマンドボタンウィザードを使って、 フォームの操作→フォームを開く→フォームを指定 という操作でボタンを作りました。 ですが、ボタンをクリックして操作しようとすると、 「イベントプロパティに指定した式 クリック時 でエラーが発生しました:名前が適切ではありません:(フォーム名)_Click   *マクロ名、ユーザー定義関数名、「イベントプロシージャ」以外の式が指定されています。   *関数、イベント、マクロの評価でエラーが発生しました。」 というメッセージが出てきて、フォームを開くことができませんでした。 ウィザードだけではフォームを開くボタンを作成することはできないのでしょうか? 何か対処があれば教えて下さい。 よろしくお願いいたします。

  • コマンドボタン

    よくわからないのですが エクセルのコントロールツールボックスのコマンドボタンだとイベントはたくさんあるけど、 フォームのコマンドボタンだとクリックボタンしかないのですか? フォームのコントロールはコントロールツールボックスの劣化版と言う感じですか? 添付画像の事です。

  • エクセル コマンドボタン

    1)Sheet1でコマンドボタンを作成。クリックするとフォームが表示さ  れます。そのフォームの中のテクストボックスに数字を入れ、それ  をSheet2のB2に挿入したいです。どうすればいいのですか? 2)Sheet2にコマンドボタンを作りました。Sheet2へ戻るようなボタン  を作りたいのですがどうすれば良いですか? 以上2つの質問です。是非教えてください。

  • 【ACCESS】コマンドボタンのクリック(イベント実行)の権限

    フォームにある数あるコマンドボタンの中の、1つのコマンドボタンにだけ権限を設けて、管理者だけがクリック(イベントを実行)できるようにしたいのですが、どうやったらいいのか分かりません。 クリックすると、パスワード入力のINPUTボックスが表示されるってのは可能でしょうか? もし可能であれば、方法を教えてください。 また不可能であれば、できるだけ簡単にイベント実行の権限を設けたいので、教えてください。よろしくお願いします。

  • Accessユーザーフォームでコマンドボタンのcaptionについてで

    Accessユーザーフォームでコマンドボタンのcaptionについてですが Aテーブルを基に表記式でフォームを作成し、コマンドボタンを配置します。 この際、コマンドボタンのcaptionをAテーブルのフィールド値を表示したいのですが 可能でしょうか? フォームを開く際に Private Sub フォーム_Load() Me!コマンド1.Caption = Me![フィールド1] End Sub とイベントを発生させましたが、全てのボタンのCaptionがAテーブル1行目、 フィールド1の値で表示されてしまいます。 Dlookupを使用しても結果か同じでしたので、 フォームをLoadした時のMe![フィールド1]の値がAテーブル1行目の値であり その値でCaptionが設定されていであろうことはなんとなくわかるのですが 何をどうすればいいか行き詰ってしまいました。 どんなやり方があるのかお教えください。

  • コマンドボタンにアイコンを表示させるには

    Excel2000を使用しています。 ユーザーフォームにコマンドボタンを設置して、そのコマンドボタンにアイコンを表示(印刷マークなど)することは可能でしょうか? ピクチャーで設定すると大きさが思ったようにいきません。 よろしくお願いします。

  • コマンドボタンにパスワードを設定したい

    マスターフォーム「メニューのフォーム」にコマンドボタンを複数配して、テーマ毎に収めたデータベースを開いて使っています。例えば「名簿管理や資格管理、その他多数」ですが、名簿管理を含めた幾つかのコマンドボタンにパスワードを設定したいと思っています。 [使用イメージ] コマンドボタン「名簿管理」を選択するとフォーム「名簿管理フォーム」が開きます。名簿管理フォームには「データ入力フォーム・一覧フォーム・検索フォーム」などを開くコマンドボタンを複数配しています。 [やりたいこと] コマンドボタン「名簿管理」で名簿管リフォームを開く際に、パスワードを設定してパスワードを入力しないと名簿管リフォームが開かない様にできればと思います。

専門家に質問してみよう