2017年10月31日

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


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

構文

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

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


たとえば、「フォーム1」にラベルを作成するには次のように記述します。
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


実行結果







スポンサーリンク