戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
WindowsAPIを利用し「デバイスとプリンター」画面を開きたい

    [196554] WindowsAPIを利用し「デバイスとプリンター」画面を開きたい-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ はな -(2025/04/29(14:28))
    □U R L/
      WindowsAPIを利用し、コントロール パネル\ハードウェアとサウンド\デバイスとプリンターを開きたいです。宣言部分に以下を記載するのは分かりましたが、この先の書き方がわかりません。教えて頂ければ幸甚です。
      
      Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
          ByVal hwnd As LongPtr, _
          ByVal lpOperation As String, _
          ByVal lpFile As String, _
          ByVal lpParameters As String, _
          ByVal lpDirectory As String, _
          ByVal nShowCmd As Long) As Long


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他



      ++++++++++++++++++++
      OS      ⇒Windows 11
      Version⇒Office365
      ++++++++++++++++++++




    [196555] Re[1]: WindowsAPIを利用し「デバイスとプリンター」画面を開きたい-

    記事引用/メール受信=OFF■

    □投稿者/ OK -(2025/04/29(15:24))
    □U R L/
      WindowsAPIを利用する理由は何ですか?
      
      WindowsAPIに拘らないのならこんな方法でも。
      
      'デバイスとプリンターを起動
      Sub test()
       Dim WSHShell As Object
       Dim s As String
        Set WSHShell = CreateObject("WScript.Shell")
        s = "control.exe printers"
        WSHShell.Run s
      End Sub


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [196556] Re[2]: WindowsAPIを利用し「デバイスとプリンター」画面を開きたい-

    記事引用/メール受信=OFF■

    □投稿者/ OK -(2025/04/29(16:01))
    □U R L/

      APIはよくわかりませんが、↓は参考になりますか?

      ht tps://ooo.iiyudana.net/htm/winframe.htm




    [196557] Re[2]: WindowsAPIを利用し「デバイスとプリンター」画面を開きたい-

    記事引用/メール受信=OFF■

    □投稿者/ はな -(2025/04/29(16:05))
    □U R L/

      OK様
      ご教示有難うございます。
      >>WindowsAPIを利用する理由は何ですか?
      WindowsAPIを利用しなければ、解決できないと思っておりました。

      OK様のコードを試しました。
      私のPCでは「Blootoothとデバイス」画面が開きました。
      更に先にある「その他のデバイスとプリンターの設定」画面を開きたいのですが、
      この方法をご教授願います。




    [196558] Re[3]: WindowsAPIを利用し「デバイスとプリンター」画面を開きたい-

    記事引用/メール受信=OFF■

    □投稿者/ OK -(2025/04/29(16:17))
    □U R L/

      私の環境(Windows10)では「\デバイスとプリンター」が
      開きました。

      他の方の回答をお待ちください。




    [196559] Re[4]: WindowsAPIを利用し「デバイスとプリンター」画面を開きたい-

    記事引用/メール受信=OFF■

    □投稿者/ OK -(2025/04/29(16:39))
    □U R L/

      コントロールパネルはいつまで使用できるかは微妙です。

      参考まで。

      ht tps://pc.watch.impress.co.jp/docs/news/1618021.html




    [196560] Re[5]: WindowsAPIを利用し「デバイスとプリンター」画面を開きたい-

    記事引用/メール受信=OFF■

    □投稿者/ はな -(2025/04/29(16:43))
    □U R L/

      OK様
      ご連絡有難うございました。
      自分でも調べてみます。




    [196568] Re[6]: WindowsAPIを利用し「デバイスとプリンター」画面を開きたい-

    記事引用/メール受信=OFF■

    □投稿者/ OK -(2025/04/30(08:49))
    □U R L/

      CドライブのWindowsフォルダの中にSystem32というフォルダがありますが、
      その中のファイルで拡張子が「cpl」のものが各種設定などのもののようです。
      Windows10のPCで見てみましたが、コントロールパネルで設定できるものが
      全てSystem32のcplファイルに含まれているというわけではないようです。




    [196569] Re[7]: WindowsAPIを利用し「デバイスとプリンター」画面を開きたい-

    記事引用/メール受信=OFF■

    □投稿者/ kazuo -(2025/04/30(09:01))
    □U R L/

      失礼します。
      Copilotに聞いてみて、ShellExecuteも含め、いろんな方法を試しましたが、
      ひどいのはウィルスと判断されたりして「デバイスとプリンター」画面は開けませんでした。
      Copilot曰く、
      なるほど、Windows 11ではcontrol printersが「Bluetoothとデバイス」画面にリダイレクトされる仕様になっているようですね。
      さらに調査したところ、Windows 11では「デバイスとプリンター」画面を直接開くためのコマンドが廃止されている可能性が高いです。

      とのことでなさそうです。

      ところで、最終目的はデバイスとプリンターの画面を開くことではなく、
      Windowsの通常使うプリンターに設定する。
      または、ExcelのActivePrinterに設定する。
      なのでは?




    [196575] Re[8]: WindowsAPIを利用し「デバイスとプリンター」画面を開きたい-

    記事引用/メール受信=OFF■

    □投稿者/ はな -(2025/04/30(19:42))
    □U R L/

      OK様、kazuo様
      ご連絡有難うございます。
      最終目的は、win11のエクスプローラーから、そこにあるファイルの一括印刷をしたいのです。その為に
      @デバイスとプリンターの画面を開き
      Aプリンタの印刷ジョブを表示させ
      Bエクスプローラー内のファイルを印刷ジョブに移動させて印刷したいのです。
      これを簡易化させる為に、デバイスとプリンターの画面をワンクリックで開きたいのです。
      因みに、「ファイル名をして実行」に以下を張り付けてたらデバイスとプリンターの画面がでるのですが、これをVBAで操作する事はできるのでしょうか。
      shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}




    [196579] Re[9]: WindowsAPIを利用し「デバイスとプリンター」画面を開きたい-

    記事引用/メール受信=OFF■

    □投稿者/ kazuo -(2025/04/30(22:43))
    □U R L/
      はなさん失礼しました。そんな作業ができるのですね。
      Copilotの回答に以下がありましたが、私の環境では
      explorer.exeから
      このファイルには、この操作を実行するように関連付けられたアプリがありません。アプリをインストールするか、または既にインストールされている場合は、既定のアプリの設定ページで関連付けを作成してください。
      のメッセージが出たため実施しませんでした。
      explorerに直接入力しても動作しませんでしたが、何度か実行してたら開くようになり、vbaからもエラーでなくなりました。
      
      explorerに開けるようになるまでshell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}を何度も入力してみてください。開けたら関連付けが完了します。
      
      Sub OpenDevicesAndPrinters()
          Dim WSHShell As Object
          Set WSHShell = CreateObject("WScript.Shell")
          WSHShell.Run "explorer.exe shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"
      End Sub
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [196580] Re[10]: WindowsAPIを利用し「デバイスとプリンター」画面を開きたい-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ はな -(2025/05/01(07:08))
    □U R L/

      デバイスとプリンターの画面、出ました。
      有難うございました!




    [196581] Re[11]: WindowsAPIを利用し「デバイスとプリンター」画面を開きたい-

    記事引用/メール受信=OFF■

    □投稿者/ kazuo -(2025/05/01(08:25))
    □U R L/
      解決済みですが他の閲覧者もいらしゃると思われますので、
      そういえば、
      >Aプリンタの印刷ジョブを表示
      なら
      >@デバイスとプリンターの画面を開き
      は不要何じゃねと思い、Copilotに聞きました。
      
      Sub OpenPrintQueue()
          Dim WSHShell As Object
          Dim PrinterName As String
          
          ' プリンター名を指定(例: Microsoft Print to PDF)
          PrinterName = "Microsoft Print to PDF"
          
          ' WScript.Shell を使用してプリンターキューを開く
          Set WSHShell = CreateObject("WScript.Shell")
          WSHShell.Run "rundll32 printui.dll,PrintUIEntry /o /n """ & PrinterName & """"
          
          ' オブジェクト解放
          Set WSHShell = Nothing
      End Sub
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G