レポートでは、VBAを使うことによって、印刷時やプレビュー時に円や楕円を描画することができます。それには、Reportオブジェクトの"Circleメソッド"を使用します。
次の例では、詳細セクションに印刷される"売上金額"の値を1行ごとにチェックして、もしそれが5万円以上なら"商品名"を楕円で囲む処理を行ないます。
Circleメソッドの引数には、下記で使われているものだけでなく、円弧を描画するための引数やさまざまな塗りつぶし方法がありますので、詳しくはオンラインヘルプを参考に、いろいろな値を当てはめてみてください。
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
Dim sngHPos As Single
Dim sngVPos As Single
Dim sngRad As Single
'売上金額が5万円以上なら描画する
If Me!売上金額 >= 50000 Then
With Me!商品名
'円の水平方向の中心を商品名テキストボックスの中央に設定
sngHPos = .Left + .Width / 2
'円の垂直方向の中心を商品名テキストボックスの中央に設定
sngVPos = .Top + .Height / 2
'円の半径を商品名テキストボックスの半分に設定
sngRad = .Width / 2
End With
'塗りつぶし色を赤に設定
Me.FillColor = vbRed
'塗りつぶしを右上がりの線に設定
Me.FillStyle = 5
'円を描画(枠線を赤、縦横比を0.05の横長楕円に設定)
Me.Circle (sngHPos, sngVPos), sngRad, vbRed, , , 0.05
End If
End Sub

|