ボブのシステムでは、Excelは、システムのデフォルトとして設定されているプリンター以外のプリンターへの印刷を拒否します。これはExcelでのみ発生し、Wordやその他のインストール済みアプリケーションでは発生しません。したがって、印刷するには、デフォルトのプリンタを一時的に希望のプリンタに変更して印刷し、後でプリンタを元に戻すことを忘れないでください。ボブは、なぜ他のプリンターを選択できないのか疑問に思っています。

この問題には、さまざまな原因が考えられます。あるサブスクライバーは、同じ問題が発生したが、オフィスをWindows 764ビットに移行してWindowsPrintServerを使用した後にのみ問題が発生したと報告しました。彼らの場合、彼らは彼らが問題を引き起こしたプリンターキューの隠された属性であり、マイクロソフトのサポートと話をすることによってのみそれを処理することができたことを発見しました。

他の人は、特定のアドインがシステムにインストールされたときに発生する問題を報告しました。 (特に、Microsoft Office Labsの検索コマンドが数回言及されました。)アドインを無効にすると、問題が解決しました。

ここで問題とさまざまな修正についての良い議論があります:

http://answers.microsoft.com/en-us/office/forum/office_2010-excel/excel-2010-only-prints-to-the-default-printer/5b6beddd-f85d-4fda-ab2b-56c750f2028c

これが単一のURLとしてブラウザに入力されていることを確認する必要があります。かなり長いです。

提案された解決策のいずれもご使用の状況で機能しない場合は、マクロを介して印刷を試すことができます。どうして?マクロで指定されたデフォルトプリンタを簡単に変更してから元に戻すことができるためです。これはすべて、ActivePrinterプロパティを使用して行われます。現在のデフォルトプリンターの名前を決定して変数に割り当て、プリンターを変更してから印刷を実行し、最後にプリンターを元に戻すことができます。

Dim sDefault As String sDefault = Application.ActivePrinter  'save current default printer Application.ActivePrinter = "XYZ SuperPrinter"

' do your printing Application.ActivePrinter = sDefault  'restore default

必要なのは、「XYZSuperPrinter」を実際に使用するプリンタの名前に置き換えることだけです。プリンターの名前を見つけるには、それをデフォルト(Windowsの場合)にしてから、[VBEイミディエイト]ウィンドウ内で、プリンターの名前を印刷します。

? Application.ActivePrinter

間隔と大文字の使用に注意して名前をマークダウンします。これは、印刷マクロで使用できる名前です。

注:

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

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

このヒント(12497)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。