30 ページフッターにページ番号テキストボックスを挿入する

レポートのデザインビューにプログラムからコントロールを挿入するには、「CreateReportControl」メソッドを使います。

このメソッドでは、次のように引数を指定します。
  • 引数1対象レポート名
  • 引数2挿入するコントロールの種類
  • 引数3挿入するセクション
  • 引数6、7左位置、上位置
  • 引数8、9幅、高さ
ここで、2つめの引数に組み込み定数「acTextBox」、3つめの引数に「acPageFooter」を指定することで、ページフッターにテキストボックスを挿入することができます。

またこのメソッドは、生成されたコントロールのオブジェクトを返します。それをオブジェクト変数(ここではtxt)に代入しておくことで、そのあとの処理として位置とサイズ以外の各種のプロパティを追加設定できます。ここでは”ページ番号”を出力するテキストボックスということで、Page関数とPages関数を使った式をコントロールソースに指定するとともに(ここでは”=”なども付けて代入)、その書式等を設定しています。
プログラム

Sub SampleCode_30()
'ページフッターにページ番号テキストボックスを挿入する

  Dim txt As TextBox
  Const TWIP_CM = 567    '1cmのTwip値

  '新しいテキストボックスコントロールを挿入
  Set txt = CreateReportControl(Screen.ActiveReport.Name, _
                                acTextBox, _
                                acPageFooter, , , _
                                8.8 * TWIP_CM, 0.1 * TWIP_CM, _
                                3.5 * TWIP_CM, 0.6 * TWIP_CM)
  'テキストボックスのプロパティを設定
  With txt
    'コントロールソースを設定
    .ControlSource = "=[Page] & ""/"" & [Pages] & "" ページ"""
    'フォントサイズを10に設定
    .FontSize = 10
    '背景スタイルを透明に設定
    .BackStyle = 0
    '境界線スタイルを透明に設定
    .BorderStyle = 0
  End With

End Sub

実行例
■実行前

■実行後
| Index | Prev | Next |



Copyright © T'sWare All rights reserved