• ベストアンサー

Access2000でプリンタドライバ名を取得したい。

Access2000にて、インストールされている プリンタドライバ名を取得したいのですが、 どのようにしたらよろしいのでしょうか? 以前、インストールされているプリンタ(DriverName)の 取得はわかったのですが、 今回はプリンタドライバ名(DeviceName)を 取得したいのです。 VBやAccess2002ではPrinterオブジェクトが 使えるので取得できるのですが、 Access2000にはPrinterオブジェクトがないので・・・。 どうか宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

WMIを使えば簡単に取得出来ます。 WMIを使用するときは参照設定でMicrosoft WMI Libraryを追加する必要があります。 参考URLにはズバリ書いてあります。 ただし、やってみたいのですがデフォルトプリンターの取得がうまくいきませんでした。(Access2000にて)

参考URL:
http://homepage2.nifty.com/tcubic/wmifun/wmisample/win32_printer.html
SidaSida
質問者

お礼

ありがとうございます。 WMIにて取得することができました~! こんなに簡単に取得できたのですね・・・。

その他の回答 (2)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

前回の参考urlのとなりです。 http://www.vbvbvb.com/jp/gtips/0351/gGetPrinterDriverName.html 自分でも調べてみましょうね。

参考URL:
http://www.vbvbvb.com/jp/gtips/0351/gGetPrinterDriverName.html
SidaSida
質問者

お礼

ありがとうございます。 こちらのAPIは調べてみたのですが、 Printerオブジェクトが使われているので、 Access2000ではだめなのかな?と思ったのです。

  • happypoint
  • ベストアンサー率36% (521/1422)
回答No.1

こんばんは。 このへんで参考になれば幸いです。 参考URL: AUG Q&A VBA/Access Basic Question No.0788

参考URL:
http://www.akj.co.jp/aug/qa/ans0001-0050/0788.html
SidaSida
質問者

お礼

ありがとうございます。 参考にさせていただきます。

関連するQ&A

  • 全てのプリンター名を取得したい

    エクセルで全てのプリンターのプリンター名・ドライバー名・ポート名を取得する コードを実行したいのですが Sub Sample() Dim prtLoop As Printer For Each prtLoop In Application.Printers With prtLoop Debug.Print "Device name: " & .DeviceName Debug.Print "Driver name: " & .DriverName Debug.Print "Port: " & .Port End With Next prtLoop End Sub これをそのまま貼り付けて実行しようとすると、 「prtLoop As Printer」が、ユーザー定義型は定義されていません。 になります。 何に参照設定すればいいのかわからないので、 とりあえず Dim prtLoop As Object にしたのですが、 今度は For Each prtLoop In Application.Printers で 実行時エラー438 オブジェクトは、このプロパティまたはメソッドをサポートしていません。 になります。 どうすればいいか教えてください。

  • Access2000で通常使うプリンタの制御

    Access2000では通常使うプリンタの取得や設定はできないのでしょうか? VBだとprinterオブジェクトを使えばできると思うのですが・・・ いろいろやってはいるのですがどうにもなりません。 誰か教えてください。

  • ネットワーク上のプリンタ名を取得

    VB6で開発しています。 ネットワークプリンタの名称を取得する良い方法があれば教えて頂けますか。 CommonDialogやSHBrowsForFolderを使用すればネットワークプリンタの「共有名」は取得できるのですが、取得したいのはそれではなくて「サーバー上から見た場合のプリンタ名そのもの」なのです。 例えばあるサーバー上に共有プリンタAが存在するとします。 このプリンタは プリンタ名 :プリンタA 共有名   :printer という風になっています。 同ネットワーク内に存在するクライアント1からこのプリンターを参照しようとした場合、エクスプローラーや、あるいは上記のSHBrowsForFolderを使用した簡単なアプリケーションでは「\\サーバー名\printer」という値が返ってきます。 でも「プリンタの追加ウィザード」でネットワークプリンタをインストールしようとするとちゃんと「プリンタA」と表示されます。 この「プリンタA」という情報が欲しいのです。 何かよい方法がありましたら教えて下さい。 宜しくお願いします。

  • VB6でのネットワークプリンタ(OS:WInXP)に対する印刷

    ご存じの方がおられましたら教えていただきたいのですが・・・ 当方、VB6(SP6)でアプリを作成し印刷機能も作りました。 以前はWin2000からプリンタサーバー(Win2000につながっているプリンタ)に対してネットワーク印刷を行っていました。APIを使用して用紙方向等変更できてました。簡単な処理の流れとしては、 (1)現在選択されているプリンタの情報を取得し記憶しておく。 (2)用紙方向等の変更 (3)印刷 (4)記憶しておいた内容にプリンタを戻す と言う具合です。 ところが、社内環境がかわり、WinXPからプリンタサーバー(WinXPにつながったプリンタ)に対して上記の処理を行うとエラーが出力されます。 調べたところ、始めにOpenPrinter関数を呼んでいるのですがこの時点で戻り値が0(関数が失敗)が帰ってきています。 ソースは以下のような感じです(一部抜粋) ' 標準的な権利を要求することを示す定数の宣言 Public Const STANDARD_RIGHTS_REQUIRED = &HF0000 ' プリンタアクセス権の管理者権限を示す定数の宣言 Public Const PRINTER_ACCESS_ADMINISTER = &H4& ' プリンタアクセス権のユーザー権限を示す定数の宣言 Public Const PRINTER_ACCESS_USE = &H8& ' プリンタアクセス権すべての権限を示す定数の宣言 Public Const PRINTER_ALL_ACCESS = _ (STANDARD_RIGHTS_REQUIRED Or _ PRINTER_ACCESS_ADMINISTER Or _ PRINTER_ACCESS_USE) ' プリンタのオブジェクトハンドルを取得する関数の宣言 Declare Function OpenPrinter Lib "winspool.drv" _ Alias "OpenPrinterA" _ (ByVal pPrinterName As String, _ phPrinter As Long, _ pDefault As Any) As Long '**************************************************** '↓処理 ' プリンタ名を指定 strPrinterDeviceName = Printer.DeviceName ' プリンタアクセス権を指定 With udtPrinterDefaults .DesiredAccess = PRINTER_ALL_ACCESS End With ' プリンタのオブジェクトハンドルを取得 lngWin32apiResultCode = OpenPrinter(strPrinterDeviceName, lngPrinterHandle, udtPrinterDefaults) ↑ この変数の戻り値が0 試しに色々やってみました。 (1)WinXPからプリンタサーバー(OS:WinXP)  × (2)WinXPからプリンタサーバー(OS:Win2000)  ○ (3)プリンタサーバー(OS:WinXP)にアプリを ○ インストール後印刷 ※ローカルプリンタに対する印刷 うまくいかないのはプリンタサーバーがWinXPの時のみエラーが 出てしまうようです。 宜しくお願いします。

  • プリンタドライバのインストール

    パソコン初心者からの質問です。 次の内容について教えてください。 よろしくお願いいたします。 ■質問内容:プリンタドライバのインストールができない 製品名:lavie 型番:HZ750/L OS:Windows10 printer spoolerがすぐ停止してしまい インストールができない ※OKWAVEより補足:「NEC 121ware :パソコン本体」についての質問です

  • プリンタにアクセスできません?

    ご経験のある方、教えてください。この間自作コンピューターがおかしくなって、結局、WinXPProの再インストールになってしまいました。何とか復旧して使えるようになったのですが、何故かプリンタードライバーだけインストールできません。プリンタ付属のインストーラーでやっても、Winの新しいハードでやっても、「プリンタにアクセスできません。アクセス権がありません」とエラーがでて、ドライバーをインストールしてくれません。プリンタをUSBにつなぐとちゃんと見つけてくれて、インストールが始まるのですが、最後はやっぱり同じです。これって、どうしたらいいんでしょうか?プリンターはCannon BJS700で、USBもLPTもどっちもだめでした。

  • プリンタードライバー

    新しく購入したパソコンにプリンターが対応していませんでした。 その後教えていただいた記事を調べたところ、Vistaのドライバで動作するという答えをいただきました。 (http://supportapj.dell.com/support/topics/global.aspx/support/dsn/document?c=jp&docid=361553&l=ja&s=gen) プリンターを動かすには「ドライバおよびダウンロード」のページにあります、どのドライバをインストールすれば良いのでしょうか。 教えてください! パソコン INSPIRON 1545 windows 7 home premium 64ビット プリンター Dell Photo AIO Printer 924

  • PCへプリンターのドライバーがインストールできなくて困っています2

    PCへプリンターのドライバーがインストールできなくて困っています2 PC   :acer5536-CF2 windows7 home premium 32bit版 ←vistaからのアップグレード Printer:EPSON PM-G4500 三年前に購入 新しくPCを買い以前のPCで使っていたプリンターを使うべくメーカーのサイトから PM-G4500のwindows7 32bit 対応のドライバー ver.6.61 を http://www.epson.jp/dl_soft/readme/7434.htm  メーカーサイト からダウンロードし、PCにインストールしようとするのですが、インストール途中で接続を求められる段階でPCが一度Printerを認識し、その後PCがポート設定・インストールを続けるとの旨が出てくるのですが、 途中で 「別のプリンターに繋がれているか、接続されていません となってインストールに失敗します。」 「プリンターの検索に失敗しました。 マニュアルにしたがってプリンターをコンピューターに接続してください。」 と最終的になるのですが、これはドライバーがあっていないのでしょうか? マニュアルには接続前にPrinterの電源は切っておき、接続後電源を入れてください。 との記述があり、その通りにしています。 PCは購入後すぐに7へアップグレードしたのですが、ないとは思うのですが、 もしかしたらアップグレード前にドライバーのアンインストール をしていなかったのかもしれません。 メーカーサイトで 「新しいOS環境にアップグレードする際は、あらかじめ旧OS上でプリンタードライバーをアンインストール(削除)してから、OSのアップグレードを行い、その後最新の プリンタードライバーをインストールしてください。 旧OS上でプリンタードライバーのアンインストール(削除)を行わなかった場合、アップグレード後の新しいOS環境でプリンターの認識が正常に行えない場合があります。」 とあるのですが、もし旧OSでアンインストールしていなかった場合、もうどうにもならないのでしょうか? どなたか詳しい方いらっしゃいましたら教えて頂きたく質問しました。

  • プリンタードライバーのインストールで「アクセスが拒否されました。」とな

    プリンタードライバーのインストールで「アクセスが拒否されました。」となり失敗します。 FujituのLifebook AH550/5Aを利用しています アップデートパックを購入して 購入直後にWindows7HomePremiumからWindows7Professionalにアップグレードしました。 その後RicohのGXe5500のプリンタードライバーをインストールしようとしたところ 途中で「アクセスが拒否されました」となり失敗してしまいます 特にセキュリティソフトなど他のアプリケーションは何も入れていない状態なんですが、、、 Ricohホームページのインストーラーからも インストーラーを管理者として実行しても同じで インストール中のゲージが進んで行く途中で同じメッセージで失敗となってしまいます。 ためしにデバイスとプリンターの画面からプリンターのインストールで ドライバーファイルを指定してのインストールも試してみたんですが 同じでゲージが進んでいく途中で同じエラーが出てしまいました。 リカバリー以外でほかに何か試せることありますでしょうか?

  • プリンタドライバをインストールしませんでした。

    大学の研究室でノートPCにプリンタのドライバをインストールしようとしたのですが、 プリンタドライバをインストールしませんでした。 操作を完了できませんでした(エラー 0x0000007b)。 というメッセージが出て、インストールができません。 PC:Windows Vista Business SP1 プリンタ:brother HL-4050CDN http://www.brother.co.jp/product/printer/info/hl4050cdn/index.htm ※研究室のVLAN上に接続しており、IPを***.***.***.195 に固定しています。 <行った手順> 1.ノートPCを研究室のVLANに無線LANで接続 2.↓からドライバをダウンロード、解凍 http://solutions.brother.co.jp/public/dlf/download_top.html?prod=hl4050cdn 3.コントロールパネル⇒プリンタ⇒プリンタのインストール⇒ローカルプリンタを追加します 4.新しいポートの作成⇒Standard TCP/IP Port 5.デバイスの種類:自動検出 ホスト名またはIPアドレス:***.***.***.195を入力 「プリンタを照会して、使用するプリンタドライバを自動的に選択する」のチェックを外す 6.プリンタドライバのインストールで、ディスク使用を選び、2.で落としたドライバからBR4050_4.infを開く 「Brother HL-4050CDN BR-Script3J」を選んで次へ 7.プリンタ名、通常使うプリンタに設定するのチェックはそのままで次へ 7.の次へをクリックした際に↑のエラーメッセージが現れます。 解決法を色々検索してみたのですが、どうもそれらしいものが見つかりませんでした。 アドバイス頂けたら幸いです。よろしくお願いします。

専門家に質問してみよう