このエントリーをはてなブックマークに追加

レポートのセンターにカットマーク。

ある帳票をプリントする時に、A4の用紙に縦に2枚分を並べて印刷するようにしているものがあるとします。つまり、帳票一枚の大きさは、A5横(A4の半分)の大きさです。それをプリントした後、まず、用紙を半分に折って印をつけてから、定規を使って用紙をカットします。ですが、この用紙を半分に折るという行為を省こうと思います。そこで、用紙の真んなか両端に印を付けていこうと思います。

目次

 

サンプルレポートとサンプルVBAコード

こちらの画像は、用紙のちょうど半分の位置にカットマークの入ったサンプルレポートです。両端の二か所のオレンジ色の丸で囲んだ印がカットマークです。

そして、このカットマークを入れるためのVBAコードが以下の記述になります。このVBAコードについての説明はこの後にしていきます。

 

VBAコードを記述する場所

では、レポートにカットマークを入れるためのVBAコードを記述する場所について見ていきます。コードはレポートモジュールに記述していきます。そのために、Visual Basic Editor(VBE)を起動します。

まずはじめに、作成したレポート(ここでは、レポートはすでに作成されているものとします。)をデザインビューで開きます。プロパティ シートも開いて、デザインビューの一番左上の角にある四角い所(オレンジの丸印の所)をクリックします。

プロパティ シートが「レポート」を選択した状態にします。

もし、プロパティシートが出ていない場合は、Access上部のリボンから、レポートデザインツールデザインを選択して、右のほうにある、プロパティシートのアイコンをクリックすると表示されるようになります。

そして、プロパティシートの「イベント」タブを選択し、下のほうにある、「ページフォーマット時」という項目の右側のマスにカーソルを入れると、その右側に二つのボタンが現れますので、右側の「ビルドボタン」[…]のほうをクリックします。そうしますと、「ビルダーの選択」というウインドウが出ますので、「コードビルダー」を選択して、「OK」をクリックしてください。


これで、VBAコードを記述する画面、Visual Basic Editor(VBE)が開きます。

VBAコードの内容

では、VBAコードの中身を見ていきます。まずは、

Private Sub Report_Page()

これは、イベント名ですが、「Report_Page/ページフォーマット時」イベントです。MicrosoftのAccess VBAリファレンスから引用しますと、

Page イベントは、レポートのページが形式を整えられて印刷されるまでの間に発生します。このイベントを使って、ページの周囲の境界線を描画したり、ページにグラフィック要素を追加することができます。

今回のケースは、レポートそのものに、カットマークはありませんが、印刷するときに、マークを入れて印刷するということとなります。

次のポイントはReport.Line メソッド です。今回のコードでは、

Me.Line (x1, y1)-(x2, y2)

ですね。このx1とy1が、直線の始点の座標値を表す値です。

x1 = Me.ScaleLeft  (最も左端)
y1 = Me.ScaleHeight / 2 (高さの半分、つまりちょうど真ん中)

x2とy2は、直線の終点の座標値を表す値です。

x2 = 200 (左端から200ピクセルの位置)
y2 = Me.ScaleHeight / 2

これで、左側のカットマークが表示されます。

同じように

x3 = Me.ScaleWidth – 200 (右端から200ピクセル手前の位置)
y3 = Me.ScaleHeight / 2
x4 = Me.ScaleWidth  (右端)
y4 = Me.ScaleHeight / 2
Me.Line (x3, y3)-(x4, y4)

これで、右側のカットマークを表示させることができます。

このエントリーをはてなブックマークに追加

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントフィード

トラックバックURL : http://gyoumuka.work/wp-trackback.php?p=153

PAGE TOPへ戻る