レポートのデザインビューにプログラムからコントロールを挿入するには、「CreateReportControl」メソッドを使います。
このメソッドでは、次のように引数を指定します。フォームの場合は「CreateControl」で、メソッド名は違いますが、その引数は同じです。
- 引数1対象レポート名
- 引数2挿入するコントロールの種類
- 引数3挿入するセクション
- 引数6、7左位置、上位置
- 引数8、9幅、高さ
ここで、2つめの引数に組み込み定数「acTextBox」、3つめの引数に「acHeader」を指定することで、レポートヘッダーにテキストボックスを挿入することができます。
またこのメソッドは、生成されたコントロールのオブジェクトを返します。それをオブジェクト変数(ここではtxt)に代入しておくことで、そのあとの処理として位置とサイズ以外の各種のプロパティを追加設定できます。ここでは”印刷日”を出力するテキストボックスということで、Date関数をコントロールソースに指定するとともに(ここでは”=”なども付けて代入)、その書式等を設定しています。
プログラム
Sub SampleCode_29()
'レポートヘッダーに印刷日テキストボックスを挿入する
Dim txt As TextBox
Const TWIP_CM = 567 '1cmのTwip値
'新しいテキストボックスコントロールを挿入
Set txt = CreateReportControl(Screen.ActiveReport.Name, _
acTextBox, _
acHeader, , , _
15.5 * TWIP_CM, 0.3 * TWIP_CM, _
3.5 * TWIP_CM, 0.6 * TWIP_CM)
'テキストボックスのプロパティを設定
With txt
'コントロールソースをDate関数に設定
.ControlSource = "=Date()"
'書式を設定
.Format = "yyyy年mm月dd日"
'フォントサイズを10に設定
.FontSize = 10
'背景スタイルを透明に設定
.BackStyle = 0
'境界線スタイルを透明に設定
.BorderStyle = 0
End With
End Sub
実行例
■実行前

■実行後
|