4章 カスタマイズ4-4レポート

文字の縦横比を変える


文字フォントの縦横比を変えて印刷することができます。
下記の2つの方法があります。
  1. 独自コントロールを使う
  2. Wordの機能を使う方法[Access+Word]
カスタムサンプルシステム」があります。

独自コントロールを使う
ApwActX.ocxファイルにあるLblScl非連結コントロールを使います。
<SoraActiveXコントロールのインストール>
LblScl非連結コントロールを使う場合、SoraActiveXコントロールをインストールする必要があります。SoraセットアップCD-ROMのApwActXフォルダの下のsetup.exeを実行してください。画面の指示に従いセットアップを行います。
<操作手順>
  1. Soraレポートを[デザイン]で表示します。
  2. ツールボックスを表示します。
  3. ”コントロールの選択”ボタンをクリックします。
    ActiveXコントロールの一覧が表示します。
    ActiveXコントロールの一覧

  4. ”ApwActXLblScl”をクリックします。
  5. [デザイン]画面に範囲を指定します。
    LblSclのコントロール(ここでは名前を”LblScl4”とします)が張り付きます。
    BackColorプロパティを変更し、背景色を調整します。FontSizeプロパティを変更し、文字の大きさを調整します。FontScalingを調整し、文字の横の大きさを調整します。
    ActiveXコントロールの一覧

  6. レコードの内容を表示させる。
    GKKKSTDテーブルのKKKNAM1フィールドの内容を表示させます。KKKNAM1フィールドのテキストボックスを追加します。(ここでは名前を”KKKNAM1”とします)
    [詳細]セクションの[フォーマット時]イベントに下記内容を追加します。
        Me![LblScl4].Caption = Me![KKKNAM1]
    
    レコードの内容設定


<LblSclコントロールプロパティ>
キー説明
[BackColor]背景色
[ForeColor]前景色
[BackStyle゚]背景スタイル
[FontBold]フォント太字(700)
[FontItalic]フォント斜線
[FontName]フォント名
[FontSize]フォントサイズ
[FontUnderline]フォント下線
[FontWeight]フォント太さ
[FontScaling]横幅の倍率
100以下縦長、100以上横長
[Caption]標題
[FontStrikethru]フォント取消し線



Wordの機能を使う方法[Access+Word]
Wordの機能を使います。Wordがセットアップされている必要があります。
テーブルにOLEオブジェクト型のフィールドを作成し、フォームで文字を入力するときにOLEオブジェクト型のフィールドに縦横比を変えた文字を自動(apOleWord関数)で設定します。

文字の縦横比を変える

<操作手順>

  1. モジュールの追加
    Access2002の場合、SoraのセットアップCD-ROMの \Apw02Cst フォルダの下にある \Cst02フォルダの Apw02C01.mdbファイルの[モジュール]Cst01をインポートします。
  2. Wordの参照設定
    [モジュール]Cst01を[デザイン]で開き、ツールバーの[ツール]-[参照設定]をクリックします。[参照可能なライブラリファイル]の一覧からWord2000の場合”Microsoft Word 9.0 Object Library”Word2002の場合”Microsoft Word 10.0 Object Library”をチェックします。
  3. テーブルにOLEオブジェクト型のフィールドを作成
    文字フォントの縦横比を変えて印刷したいフィールドのテーブルにOLEオブジェクト型のフィールドを作成します。ここでは[KKKOLE]とします。
  4. Soraフォームにコントロールを追加
    OLEオブジェクト型のフィールドのコントロールを追加します。ここでは[KKKOLE]とします。
    文字フォントの縦横比を変えて印刷したいフィールド(ここでは[社名1])の[更新後処理]イベントに下記内容を追加します。
    Private Sub 社名1_AfterUpdate()
    'Word編集
        apOleWord Me![KKKOLE], IIf(IsNull(Me![社名1]), "", Me![社名1]), 24, 40
    End Sub
    
  5. Soraレポートにコントロールを追加
    OLEオブジェクト型のフィールドのコントロールを追加します。

<apOleWord関数>
文字の縦横比を変える
Public Function apOleWord(prmCtlOLE As Control, prmBuf As String, prmSize As Single, prmScaling) As Boolean
  1. prmCtlOLE
    Wordで設定するオブジェクトフレームを指定します。
  2. prmBuf
    設定する内容を指定します。文字型の値を使用します。Nullは使用できません。
  3. prmSize
    フォント サイズをポイント単位で設定します。値の取得および設定が可能です。単精度浮動小数点数型 (Single) の値を使用します。
  4. prmScaling
    フォントに適用する倍率を設定します。現在のサイズに対する割合で、水平方向に文字列を拡大または縮小します。1 〜 600 の倍率を指定します。値の取得および設定が可能です。長整数型 (Long) の値を使用します。
<例>
apOleWord Me![KKKOLE], IIf(IsNull(Me![社名1]), "", Me![社名1]), 24, 66