プロが教えるわが家の防犯対策術!

エクセルのマクロでプリンタを変更して印刷をしたいと思っています。
そこで、

  (1) 利用できるプリンタ
  (2) (1)のポート
  (3) (1)のプリンタドライバ

を取得したいのですが、どうすればよいのでしょうか?
VBではプリンタオブジェクトを使って簡単に取得できるようなのですが、VBAでの方法がわかりません。
プリンタ設定ダイアログなどは表示せずに、APIなどを使ってできないものでしょうか?

どうぞよろしくお願いします。

【環境】Windows2000、Office2000

A 回答 (1件)

プリンタ名等の取得はAPIを使用すればできますが、単純にプリンタを変更したいだけなら、以下のようにしてはどうでしょう?


プリンタ名を指定するだけで、通常使うプリンタを変更してくれますよ。

Sub set_printer(byVal strPrinter as String)

Dim objPrinter As Object

Set objPrinter = CreateObject("WScript.Network")
objPrinter.SetDefaultPrinter strPrinter

End Sub

参考URL:http://member.nifty.ne.jp/aya/wsh/wsh26.htm
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!