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

注:

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

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

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(318)は、Microsoft Word 97、2000、2002、および2003に適用されます。Wordのリボンインターフェイス(Word 2007)用のこのヒントのバージョンを見つけることができます。以降)ここ: