2017年10月31日

【Access】VBAからコントロールを作成する


CreateControlメソッドを使うとVBAからコントロールを作成することが出来ます。

構文

CreateControl(フォーム名, コントロールの種類, [Section], [Parent], [ColumnName], [左位置], [上位置], [幅], [高さ])

[]は省略可能。[左位置], [上位置], [幅], [高さ]はtwip単位で指定。


たとえば、「フォーム1」にラベルを作成するには次のように記述します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Public Sub CreateLabelControl()
 
    Dim label As Control
     
    DoCmd.OpenForm "フォーム1", acDesign
     
    Set label = CreateControl("フォーム1", acLabel, , , , 1000, 1000, 3000, 500)
     
    label.Name = "labelMessage"
    label.Caption = "こんにちは"
    label.FontSize = 20
    label.BorderStyle = 1
    label.BorderColor = vbBlack
    label.ForeColor = vbBlack
     
    DoCmd.Close acForm, "フォーム1", acSaveYes
     
    DoCmd.OpenForm "フォーム1", acNormal
     
End Sub


実行結果







スポンサーリンク



Follow Me on Pinterest
Clip to Evernote