プリンターがインストールされているかを確認するには?

Question 63.9 印刷 Excel VBA Borad (掲示板)より Previous Next
マクロを使って、シートのヘッダーやフッターを設定しようとしているのですが、

PCによってはプリンターがインストールされて いないPCもあり、その場合 「このPCにはプリンターがセットアップされていないのでページ設定できません。」 というメッセージを 表示したいと思っています。

どういったコマンドを使えば、PCのプリンターの有無がわかるのでしょうか? よろしくお願いします。
Answer   2003.4.23 もてもて
こんにちは、もてもてです。
これは私も知りたい所です。VBでは出来るのですが、VBAでは出来ないのかな? (誰か教えて)
とりあえず、こんな感じで逃げるのはいかが?
    If Not Application.ActivePrinter Like "*casio*" Then
        MsgBox "Cannot Print"
    End If
プリンターの接続されていないパソコンで、Application.ActivePrinter で 取得される値を利用するというのでもいいかな。 (私は、未確認です) もし、エラーなら On Error Goto ** で処理できますね。
ではでは。
ありがとうございました
もてもて様回答ありがとうございます。
ご教示いただいたIf文は、使用しているプリンターのメーカーが特定できていない場合は、使えないような気がします。
メーカーをずらずら並べるのもナンセンスのような気がしますので。。。

[既定値のプリンター] プリンターが設定されていないPCからの
Application.ActivePrinter の戻り値は、右図のとおりでしたが、これはすべて(どんなPCでも)同じなのでしょうか?
同じなら、このメッセージに対して処理を行うことができますが。
ちなみにVBならどういう風にコマンド打つのでしょうか? 参考までに教えてください。
Answer   2003.4.23 もてもて
・察してました。「メーカーをずらずら並べるのもナンセンス」ですね。
Application.ActivePrinter については、やった事がなかったので今確認したところ、私のもそう出ました。 使ってみる価値はあると思います。
・VBのコマンド
    For Each a In Printers
        MsgBox a.DeviceName
    Next
うろ覚えなので、違ってたらごめんなさい。(今、手元にVBがないもので・・・)

関連ページ  ・ インストールされているプリンターの名前を取得するには?

 

Excel VBA Macro