投稿者 snowmansnow  (社会人) 投稿日時 2021/6/24 23:36:40
こんばんは、るきお様、皆様
PRINTERの用紙についてお聞きしたいです。
普段は、複数種類の複合機や、
PDFプリンターをプリンターとして利用する事が多いです。

Windowsの設定の、プリンターのキューを開いてプロパティを開くと
全般タブの、機能の中に「利用可能な用紙:」というボックスがあります。
ここに表示される用紙の一覧(1種類から4種類くらい)をVBAなどで取得する事は可能でしょうか?

POWERSHELLのTRAY一覧や(用紙サイズがわからない)
VBNETのPaperSize一覧(ものすごい種類の用紙が取得される)
とも違うのでは?と思っています。

複合機のトレイ設定数・内容と合致する事や、相違する事(トレイの一部のみ表示)
があるみたいでした。


①この「利用可能な用紙:」一覧の用紙の意味が知りたいのと、
②この一覧の取得や、
③できれば、複合機での、手差しトレイでない、
 標準的なトレイ一覧が取得できるといいなぁと思っています。

④「利用可能な用紙:」の下の「基本設定」ボタンを押した後で出てくる
  ダイアログの、「用紙サイズ」との違いがあれば知りたいです。

⑤VBNETのPaperSize一覧の用紙の意味も知りたいです。

⑥POWERSHELLの、set可能なPaperSizeの意味と、①や④との対応も知りたいです。
 POWERSHELLでPaperSizeをsetしても、①や④のダイアログには影響しないようですし、
  でも、プリンタによってはsetを受け付けないPaperSizeもあるようでした。
  windows10 64bit powershell7
  https://www.koskila.net/how-to-change-printer-paper-size-using-powershell/


⑦意味がわかり、一覧の取得ができましたら、VBAなどで、それぞれに影響する用紙設定も教えて欲しいです。


APIの例もエラーになってしまい、何の用紙を取得できてるのか、実行結果を確認できませんでした。
https://docs.microsoft.com/ja-jp/office/vba/access/concepts/printing/programmatically-retrieve-printer-capabilities

できればVBAで、またはVBNETやPOWERSHELLでもよろしいので、教えて頂ける方お願いします。
 Excel2016の32bitでも64bitでもよろしいです。

APIやVBNETやPOWERSHELLの説明を見たり、少し実行してみてもわからず、よろしくお願いします