VBのPrintersコレクションについて教えてほしいです。
先日VBのフォームを印刷したいという質問をし、そのときPrintersコレクションを使うとできると回答いただきました。
↓ここを教えていただきました。
http://www.hanatyan.sakura.ne.jp/vbhlp/print03.htm
確かにPrintersコレクションを使ってプリンタをセットして印刷することができましたが、
よくよくコレクションアイテムを見てみると、現在コントロールパネルのプリンタ内に存在しないプリンタがいくつかありました。
(いずれも以前に設定したことがあるプリンタでした)
そして現状のままプログラムを他のユーザで実行すると印刷させたいプリンタがアイテムに無い状態でした。
このPrintersコレクションのアイテムというのはどういった内容のものを保持しているのでしょうか?
またこのアイテムを現在のものに置き換えることはできないでしょうか?
できる場合はVBソース内で行いたいと思うのですができますでしょうか?
環境はVB6、Vistaです。よろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>そして現状のままプログラムを他のユーザで実行すると印刷させたいプリンタがアイテムに無い状態で
>した。
アイテムに無いとは、どのアイテムを指しておられるのでしょうか?
メモ帳等の他のアプリで、プリンターを選択した場合に同様に表示されませんか?
>このPrintersコレクションのアイテムというのはどういった内容のものを保持しているのでしょうか?
過去にそのパソコンに登録したプリンター(ドライバー)です。
それと、MS のFax 等も含まれます。
またこのアイテムを現在のものに置き換えることはできないでしょうか?
現在の物とは、どう言った物でしょうか?
現在実際に接続されている物、又は、必要な物等指しているのなら、不要な物は、コントロールパネル
から削除して下さい。
>できる場合はVBソース内で行いたいと思うのですができますでしょうか?
敢えて、プログラムから選別するなら、その条件に合っているかをWin32 API 関数等を使って
調べて下さい。
例えば、プリンターがオンラインになっているとかを。
そもそも、指定のプリンターで印刷したいと言う事だったと思うのですが、どのプリンターで印刷
したいかをユーザーに選択して貰うのが仕様なのではなかったのですか?
この回答への補足
vbhanatyanさん、度々の回答ありがとうございます。
今回のプログラムとしては、レイアウト変更等による動作の確認用にPC内に登録されているプリンタを印刷させるように作成しています。
部屋ごとにプリンタが設置されている状態ですが、PCが別の部屋に移動する場合もあり都度部屋に合わせてプリンタを追加/削除しています。
また、書き忘れましたがフォームにはリストボックスがあり、オブジェクト.ExecQuery("select * from win32_printer")で取得したものを格納しています(こちらは現在のコントロールパネルと内容が同じ)。
上記が前提条件として、VB内でPrintersコレクションでDeviceNameを拾ってくるとコントロールパネルから削除されているプリンタもあったりします。
これは過去に登録されたものを保持しているということなので納得なのですが、部屋移動の際に追加したプリンタが拾ってこれない場合もある、という状態でこれだと印刷テストできません(つまり内容が古い)。
また、同じPCに異なるユーザで実行したときもPrintersコレクションで拾う内容が異なっている場合も見受けられました。
私のイメージとしてはPrintersコレクションが過去追加したプリンタ+現在のコントロールパネルの内容をあわせた内容にならないものか、という風に考えています。
なのでコレクションの内容をリフレッシュとかできないものか、と思いました。
説明がうまくできずわかりにくいかと思いますが、またなにかありましたらお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
コンビニでおにぎりを買うときのスタメンはどの具?
コンビニでおにぎりを買うとき、何の具材を選ぶことが多いですか?
-
コーピングについて教えてください
皆さんはストレスを感じたとき、どのような方法や手段、テクニックで対処していますか?
-
【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
【お題】追い込まれた犯人が咄嗟に言った一言とは?
-
VB.netでRGB関数を使うには
Visual Basic(VBA)
-
vb ver6 でformat文やTrim文の関数が使用できなくなりました。
Visual Basic(VBA)
-
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
-
4
VB6の印刷でメモリリーク
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・ことしの初夢、何だった?
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アイテム の意味がわかりませ...
-
マリオカートはアイテム次第で...
-
googleドライブ 共有フォルダ ...
-
マジックポットの倒し方を教え...
-
FF4 アイテム管理
-
パラサイトイブのアイテム
-
おいでよどうぶつの森 まい...
-
Appアップデートの項目iPhoneに...
-
戦国BASARAと2の違い
-
Switchで無料で配信しているテ...
-
PS5で、ずっとオンラインの...
-
前回に引き続き質問です。 PS5...
-
今日Spotifyを無料版で入れたん...
-
こんにちは 中1です。僕はiPhon...
-
第五人格のブラックリストについて
-
放置少女の副盟主任命について
-
マザコンプレイってなんですか...
-
MMO RPGで百万円課金すると、ど...
-
ポケモンプラチナで、データが...
-
荒野行動ですが フレンドの人と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
googleドライブ 共有フォルダ ...
-
アイテム の意味がわかりませ...
-
マリオカートはアイテム次第で...
-
ポケモンホワイト2
-
FF10のミヘン街道・北側 ミヘ...
-
パラサイトイブのアイテム
-
PS2 ドラクエ8 名もなき小島 ...
-
Google Playで予約購入した漫画...
-
モンストの モンスポットのアイ...
-
SFC版の「スーパーマリオカート...
-
ドラゴンクエスト8で…
-
VBのPrintersコレクションにつ...
-
スカイリム 多くの意見ください
-
カルドセプト2
-
FF4 アイテム管理
-
【モンハン】受け渡しできるア...
-
Listviewの内容を数字の降順に...
-
FF11 ノートパソコンでバザ...
-
三國無双3の玉アイテムの取り...
-
データコンバート(続編への引...
おすすめ情報