Excel VBA 質問スレッド №103 (解決済)

プリンター名の一覧の取得と通常使うプリンタになっているかを知りたいです

投稿者 : ヘンリー     投稿日時 : 2020/09/04(Fri) 12:27:38     OS : Windows 10     EXCEL : Excel 2016
以下のソースコードでプリンタ一覧は列挙できたのですが、
一覧の中のどれが通常使うプリンタに設定されているか知りたいのです。

B列に通常使うプリンタかどうか分かるように欠き込みたいです。

どなたかご存じの方、ご教授して頂けないでしょうか。
何卒宜しくお願い致します。

Sub main()

    Dim objShell As Object
    Dim objElement As Object
    Dim lngRow As Long
    
    
    Set objShell = CreateObject("Shell.Application")
    
    For Each objElement In objShell.Namespace(4).Items
        Cells(lngRow, 1) = objElement.Name
        lngRow = lngRow + 1
    Next
    
    Set objElement = Nothing
    Set objShell = Nothing


End Sub

スポンサーリンク
[返信 1] Re : プリンター名の一覧の取得と通常使うプリンタになっているかを知りたいです
投稿者 : sinzo     投稿日時 : 2020/09/19(Sat) 21:37:19
たとえば

Sub tte()

    Dim objShell As Object
    Dim objElement As Object
    Dim lngRow As Long
    Dim ActPrn As String
    ActPrn = Application.ActivePrinter
    
    lngRow = 1
    Set objShell = CreateObject("Shell.Application")
    
    For Each objElement In objShell.Namespace(4).Items
        Cells(lngRow, 1) = objElement.Name
        If InStr(ActPrn, objElement.Name) > 0 Then
            Cells(lngRow, 2) = "True"
        End If
        lngRow = lngRow + 1
    Next
    
    Set objElement = Nothing
    Set objShell = Nothing
End Sub

[返信 2] Re : プリンター名の一覧の取得と通常使うプリンタになっているかを知りたいです
投稿者 : ヘンリー     投稿日時 : 2020/09/20(Sun) 17:06:19
sinzoさん
ご回答ありがとうございます。
おかげさまで解決できました。

本当にありがとうございます。

当掲示板について
  • Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
  • 記事内ではHTMLのタグは使用できません。
  • 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
  • Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
  • Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
お 名 前  :
内  容   :

ステータス  :

認証コード  : キャプチャ画像 




( 処理日時 : 2025-12-19 15:07:52 )
タイトルとURLをコピーしました