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

[ACC] レポートを出力するプリンタをコードから変更する

文書番号: 129397

最終更新日: 2004/01/23


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

概要

この資料では、Accessの PrtDevNames プロパティについて説明しています。

詳細

レポートまたはフォームを出力するプリンタは、次の 2 つの方法で変更することができます。

方法 1: 通常使用するプリンタから別のプリンタに変更する

[ページ設定] (Access 2.0 では [プリンタの設定]) ダイアログ ボックスでは、フォームまたはレポートを、通常使うプリンタと別のプリンタのどちらに印刷するかを選択できます。デフォルトのプリンタを他のプリンタに変更する場合、Windows の通常使用するプリンタを変更する必要があります。

Visual Basic コード (Access 2.0 以前は Access Basic コード) を使用して、Windows の通常使うプリンタを変更するには、WriteProfileString 関数を使って、Win.ini ファイルの Windows セクションの Device= entry を変更します。

方法 2: PrtDevNames プロパティと PrtDevMode プロパティの設定

PrtDevNames プロパティにはプリンタ名が、PrtDevMode プロパティにはドライバ情報が格納されます。プリンタ ドライバを変更するには、この 2 つのプロパティを両方とも変更する必要があります。PrtDevMode プロパティが PrtDevNames プロパティに一致しない (つまり、PrtDevMode プロパティが、PrtDevNames プロパティに格納されているのとは異なるドライバ情報を保持している) 場合、一般保護エラーが発生することがあります。

プリンタ ドライバを変更するには、次の手順を実行します。
  • [デザイン ビュー] でフォームまたはレポートを開きます。
  • PrtDevNames プロパティを設定します。
  • PrtDevMode プロパティを取得し、設定します。
PrtDevMode プロパティを正しく設定するには、ドライバ情報を取得する必要があります。ドライバ情報は、次の方法で取得することができます。
  • 設定したいプリンタの情報が既に保存されているフォームやレポートからプリンタ情報を取得します。
  • ドライバを呼び出し、構造体を取得します。ドライバを呼び出すには、別の DLL が必要になります。これは、外部ファイル内の関数を呼び出す場合は、関数がその呼び出し以前に宣言されている必要があり、その時点ではドライバ名が不明なためです。代わりに、呼び出す正しいプリンタ ドライバを決定し、DevMode 構造体を取得する DLL を呼び出します。
  • Windows の [印刷] コモン ダイアログを使用します。

関連情報

PrtDevMode および PrtDevNames の詳細については、Accessのヘルプのキーワードを使用して "PrtDevMode プロパティ"、または "PrtDevNames プロパティ" を検索してください。または次の Web サイトをご覧ください。

http://www.microsoft.com/AccessDev/Articles/GetzCh10.HTM

WriteProfileString、Win.ini、Windows の通常使用するプリンタの詳細については、MSDN (Microsoft Developers Network) を参照してください。この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 129397 (最終更新日 2000-11-15) をもとに作成したものです。

Keywords: 2.0 7.0 8.0 ac95 ac97 acc2 change code driver kbhowto kbprint printer prtdevmode prtdevnames report KB129397
Technology: kbAccess95Search kbAccess97 kbAccess97Search kbAccessSearch

inserted by FC2 system