#435 | 複数のコマンドボタンを一気に作る方法 | フォーム、VBA | |
フォームにコマンドボタンを配置したい場合、ツールボックスとマウスを使って簡単に作成することができます。通常はそのような操作でよいのですが、同じようなプロパティを持ったボタンを大量に配置したい場合もあります。そのようなとき、VBAを使うと、一気に複数のコマンドボタンを自動生成させることができます。 それには、「CreateControlメソッド」を使います。 このメソッドでは、次のような引数を与えることによって、各種のコントロールをプログラムから生成することができます。 CreateControl(フォーム名, コントロールの種類, セクション)
次のサンプルコードでは、「フォーム1」の詳細セクション上に10ケのコマンドボタンを一気に自動生成しています。まず「フォーム1」を新規作成し(その名前で保存されている必要はありません)、”デザインビュー”の状態にしておきます。そして、標準モジュールから次のプロシージャを実行します。 Public Sub CreateCmdButton() Dim cmd As CommandButton Dim iintLoop As Integer '10ケのボタンを生成するループ For iintLoop = 1 To 10 'コマンドボタンを生成 Set cmd = CreateControl("フォーム1", acCommandButton) With cmd '名前を設定 .Name = "cmd" & iintLoop '標題を設定 .Caption = iintLoop & "番目のボタン" '上位置を設定(0.8cm間隔で配置) .Top = (iintLoop - 1) * 567 * 0.7 ' 'その他、この部分でボタンに対するさまざまなプロパティ設定が可能です ' End With Next iintLoop End Sub データベースウィンドウから新規作成された直後の空のフォーム プロシージャ実行後のフォームのデザイン |
|||
|
Copyright © T'sWare All rights reserved |