Microsoft Access Club >Access裏技Tips >このページ >次頁 < 前項 サイト内検索


複製不可の文字をページヘッダーに浮き上がらせる : Access裏技Tips



機密保護が声高く叫ばれて久しいですが、レポートの複写には注意しなくてはいけません。 ここでは、ページヘッダーに複製不可の文字を浮き上がらせる技を紹介します。

複製不可の文字を印字する

  1. サンプルテーブル(tbl_sample)をもとにして、「新入社員の出身都道府県リスト」の 帳票レポート(rpt_sample)を作成します。
  2. 文字を浮き上がらせるのにPrintメソッドを利用します。
  3. サンプルでは、InputBoxを用いて任意の警告文字を入力できる仕様となっています。

「新入社員の出身都道府県リスト」の レポートを作成

  1. 「新入社員の出身都道府県リスト」の レポートを作成します。
  2. サンプルデータを元に、新入社員の出身都道府県リストを作成します。

ページヘッダー印刷時イベントプロシージャの作成

ページヘッダー印刷時イベントプロシージャを作成します。

Private Sub ページヘッダーセクション_Print(Cancel As Integer, PrintCount As Integer)

On Error GoTo エラー

    Dim strMessage As String
    Dim strInputMsg As String
    Dim intHorSize As Integer
    Dim intVerSize As Integer
    
    strInputMsg = InputBox("印字する文字列を入力して下さい。", , "複製不可")'--- A
    
    If strInputMsg <> " " Then
        strMessage = strInputMsg
    Else ' --- B
        strMessage = " "
    End If
    
    With Me ' --- C
        .ScaleMode = 3 ' --- D
        .FontBold = True
        .FontName = "MS P明朝"
        .FontSize = 18
        .ForeColor = RGB(255, 0, 0) ' --- E
    End With
    
    intHorSize = Me.TextWidth(strMessage) ' --- F
    intVerSize = Me.TextHeight(strMessage) ' --- G
        
    Me.CurrentX = (Me.ScaleWidth) - (intHorSize) ' --- H
    Me.CurrentY = (Me.ScaleHeight) - (Me.ScaleHeight) ' --- I
    
    Me.Print strMessage ' --- J
    
    Exit Sub

エラー:

    MsgBox "予期せぬエラーが発生しました。" & _
            vbNewLine & Err.Number & _
            vbNewLine & Err.Description, vbCritical
    End

End Sub
解説
  1. InputBoxステートメントで印字する文字を入力します。"複製不可"は既定値としてInputBoxに表示されます。
  2. InputBoxステートメントで[キャンセル]ボタンがクリックされた時、または空白のまま[OK]ボタンがクリックされた時の処理です。
  3. Withステートメントを用いることで、オブジェクト名を再定義することなく実行が可能になります。Meはrpt_sampleレポート自身を指します。
  4. ScaleModeプロパティで単位を定義します。設定値 3 はピクセルです。
  5. RGB関数で文字色を定義します。RGB(255, 0, 0)は赤色です。
  6. TextWidthメソッドで変数strMessageの水平方向の幅を求めます。
  7. TextHeightメソッドで変数strMessageの垂直方向の高さを求めます。
  8. 表示する文字列の水平位置を計算します。CurrentXプロパティは、描画を実行する開始位置の水平座標を示します。サンプルでは右端の位置にしています。
  9. 表示する文字列の垂直位置を計算します。
    CurrentYプロパティは、描画を実行する開始位置の垂直座標を示します。サンプルでは一番上の位置にしています。
  10. Printメソッドは、テキストをReportオブジェクトに表示します。
今回のおすすめポイント

Withステートメント

Withステートメントを利用した以下の構文を書き換えると、

    With Me
        .ScaleMode = 3
        .FontBold = True
        .FontName = "MS P明朝"
        .FontSize = 18
        .ForeColor = RGB(255, 0, 0)
    End With

以下のようになります。

    With Me
        Me.ScaleMode = 3
        Me.FontBold = True
        Me.FontName = "MS P明朝"
        Me.FontSize = 18
        Me.ForeColor = RGB(255, 0, 0)
    End With

見やすさの点、実行スピードの点でWithステートメントが優れていますが、ほとんど差のない程度です。

動作確認

  1. レポートを印刷プレビューで開きます。
  2. InputBoxステートメントが開きますので、そのまま[OK]ボタンをクリックします。

  1. ページヘッダーの右上に 複製不可 という文字が赤色で表示されます。

関連ページ

ページの先頭へ 前ページへ戻る

 


複製不可の文字をページヘッダーに浮き上がらせる : Access裏技Tips


 

-Microsoft Access Club-

cPanel あるいは PLESKコントロールパネルをインストールした専用レンタルサーバのディスカウントプランを期間限定で公開しています。
cPanel・PLESKコントロールパネルを備えた専用レンタルサーバ....。