Shauneは、PDFライターに製品情報シートを印刷するマクロを作成しました。彼がPDFライターに印刷すると、マクロはそれが実行されているシステムのデフォルトプリンターをリセットするため、誰かが定期的に印刷しようとすると(マクロの終了後)、WordはユーザーがPDFライター。 Shauneは、デフォルトのプリンターをリセットせずに、マクロでPDFライターを一時的に使用する方法を探しています。

悪いニュース、ショーンは、プリンタのリセットを回避できないことです。 ActivePrinterプロパティをリセットすると、Wordは、特にリセットするまで、指定したプリンターがアクティブな(デフォルトの)プリンターのままであると見なします。

幸いなことに、ActivePrinterプロパティを読み取ることもできます。つまり、マクロを実行する前にユーザーが選択したプリンタをマクロに保存し、終了する前にActivePrinterプロパティをリセットできます。その結果、マクロが設定を検知して元に戻したため、ユーザーはデフォルトのプリンターが変更されたことに気付くことはありません。この手法は次のように使用されます:

Sub PrinterTechnique()

Dim sCurrentPrinter as String     Dim sPDFwriter as String

' perform whatever tasks need to be done prior to printing ' make sure you also initialize the sPDFwriter string with ' the name of your PDF writer

' save current printer name, then change to PDF writer     sCurrentPrinter = Application.ActivePrinter     Application.ActivePrinter = sPDFwriter

' print document, then go back to the original printer     ActiveDocument.PrintOut     Application.ActivePrinter = sCurrentPrinter

' continue with the rest of your macro

End Sub

この例では、アクティブなプリンターが最初にsCurrentPrinter変数に保存され、次にアクティブなプリンターがsPDFwriter変数にあるものに設定されることに注意してください。 (前述のように、有効なプリンター名が含まれるようにsPDFwriterを初期化する必要があります。)印刷が完了すると、アクティブなプリンターは以前にsCurrentPrinter変数に保存したものに戻されます。

注:

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

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

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(9808)は、Microsoft Word 2007、2010、2013、および2016に適用されます。Wordの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。