本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[ACC2] PrtDevMode プロパティを使って用紙方向を変更する

文書番号: 129722

最終更新日: 2001/06/20


この資料は以下の製品について記述したものです。

この記事は、以前は次の ID で公開されていました: JP129722

概要

この資料では、Access Basic を使用して、レポートの PrtDevMode プロパティを設定し、印刷を実行する前に用紙方向を変更する方法について説明しています。

詳細

PrtDevMode プロパティを設定してレポートの用紙方向を変更する場合、プリンタ ドライバの次の特性を把握しておく必要があります。
  • プリンタ ドライバがサポートするメンバだけを設定する。たとえば、ユーザー定義のサイズをサポートしていないドライバに対してユーザー定義のサイズを設定した場合、予期しない結果が生じる可能性があります。
  • 変更しようとしているメンバをプリンタ ドライバに通知するため、Fields メンバ以外のメンバを変更する場合には PrtDevMode プロパティの Fields メンバを設定する。
  • PrtDevMode プロパティの最初の 68 バイトだけを変更する。プリンタ ドライバは、最初の 68 バイト以降にドライバの固有情報を格納することができます。したがって、この情報を上書きしないことが重要です。

用紙方向を変更する方法


  1. モジュールを作成し、Declarations セクションに次のステートメントを入力します。
    Option Explicit
    
  2. 次のプロシージャを入力します。
            Sub ChgRptOrient(ReportName As String)
                ' WZFRMRPT.MDA ファイルの zwAllGlobals モジュール内の、
                ' zwtDevModeStr と zwtDeviceMode のタイプを定義します。
                Dim DevString As zwtDevModeStr
                Dim dm As zwtDeviceMode
                ' フィールドのメンバを定数とします。
                Const DM_ORIENTATION = &H1
                Dim stDevModeExtra As String
                Dim rpt As Report
                Dim msg As String
                ' レポートをデザイン ビューで開きます。
                DoCmd.OpenReport ReportName, A_DESIGN
                Set rpt = Reports(ReportName)
                If Not IsNull(rpt.PrtDevMode) Then
                    ' PrtDevMode プロパティを文字列型変数に代入します。
                    stDevModeExtra = rpt.PrtDevMode
                    DevString.RGB = stDevModeExtra
                    LSet dm = DevString
                    ' 現在の印刷の向きを表示します。
                    msg = "The Orientation is currently"
                    If dm.dmOrientation = 1 Then
                       msg = msg & " Portrait. Change to Landscape?"
                    Else
                       msg = msg & " Landscape. Change to Portrait?"
                    End If
                    response = MsgBox(msg, 4)
                    If response = 6 Then
                        ' はい を選択します。
                        ' フィールド メンバを初期化します。
                        dm.dmFields = dm.dmFields Or DM_ORIENTATION
                        ' 印刷の向きを設定します。
                        If dm.dmOrientation = 1 Then
                            ' 印刷の向きを横に設定します。
                            dm.dmOrientation = 2
                        Else
                            ' 印刷の向きを縦に設定します。
                            dm.dmOrientation = 1
                        End If
                        ' PrtDevMode プロパティの最初の 68 バイトを更新します。
                        LSet DevString = dm
                        Mid$(stDevModeExtra, 1, 68) = DevString.RGB
                        rpt.PrtDevMode = stDevModeExtra
                    End If
                 End If
            End Sub
    
  3. [表示] メニューの [イミディエイト ウィンドウ] をクリックします。イミディエイト ウィンドウで次の行を入力し、Enter キーを押します。

    ChgRptOrient "<レポート 1>"

    <レポート 1> には、用紙方向を変更するレポートの名前が入ります。
レポートがデザイン ビューで開き、現在の用紙方向が表示され、方向の変更を指定できるプロンプト画面が表示されます。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 129722 (最終更新日 2000-11-04) をもとに作成したものです。

Keywords: kbinfo kbprint KB129722
Technology: kbAccessSearch

inserted by FC2 system