すぐに役立つエクセルVBAマクロ集 - すぐマク
すぐに役立つ Excel VBA マクロ集 Excel VBA Macro
FAQ
Google
 
Home |  What's New! |  Gallery |  Introduction |  Service |  Profile 500連発・組み方講座フォロー Big Color Pallet
[広告]
 
Excel VBA Macro
Excel DownLoad
© 1997 - 2007
Yoshioh Nagai.
All RightsReserved.
HappyTech & Co., Ltd.
www.happy500z.com
Excel VBA Macro ・ 印刷 ・ FAQ
プリンタがインストールされているかを確認するには? Click Here! Click Here!
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がないもので・・・)

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