最近市場に出回っているプリンターの多くは、いくつかの驚くべき機能を備えています。これらの機能のほとんどは、[印刷]ダイアログボックスを使用し、プリンタ名の横にある[プロパティ]ボタンをクリックしてアクセスできます。独自のマクロを開発しているときに、マクロ内からこれらの機能にアクセスできるかどうか疑問に思うかもしれません。

残念ながら、プリンタードライバーは通常、VBAで使用されるオブジェクトモデルから理解してアクセスできる方法でプリンターの機能を利用できるようにしないため、これを実行できるようには見えません。 (少年、それは一口でした!)代わりに、実際のWindows APIを使用する必要があり、それでもすべての機能にアクセスできるとは限りません。

ただし、使用できるいくつかの回避策があります。 VBAを使用して、出力を送信できるさまざまなプリンターを選択できます。これは、Windowsでさまざまなプリンター定義を作成し、それらの定義を出力のターゲットとして使用できることを意味します。

たとえば、WindowsのPrintersフォルダーを使用して、HP RegularPaperという名前のプリンターをセットアップできます。そのプリンタ定義は、デフォルトで普通紙に印刷するように設定できます。次に、HP Glossy Paperという名前の別のプリンター定義を設定し、デフォルトで光沢紙が入っている可能性のあるトレイに印刷するように設定できます。 2つのプリンターを定義したら、VBAを使用して2つのプリンターを切り替えることができます。たとえば、光沢紙のプリンター定義に印刷する場合は、マクロで次を使用できます。

Application.ActivePrinter = "HP Glossy Paper"

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(2530)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excelribbon-Controlling_the_Printer_in_a_Macro [マクロでのプリンタの制御]