Excel VBA 質問スレッド №103 (解決済)
プリンター名の一覧の取得と通常使うプリンタになっているかを知りたいです
投稿者 : ヘンリー 投稿日時 : 2020/09/04(Fri) 12:27:38 OS : Windows 10 EXCEL : Excel 2016
以下のソースコードでプリンタ一覧は列挙できたのですが、
一覧の中のどれが通常使うプリンタに設定されているか知りたいのです。
B列に通常使うプリンタかどうか分かるように欠き込みたいです。
どなたかご存じの方、ご教授して頂けないでしょうか。
何卒宜しくお願い致します。
以下のソースコードでプリンタ一覧は列挙できたのですが、
一覧の中のどれが通常使うプリンタに設定されているか知りたいのです。
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さん
ご回答ありがとうございます。
おかげさまで解決できました。
本当にありがとうございます。
sinzoさん
ご回答ありがとうございます。
おかげさまで解決できました。
本当にありがとうございます。
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-12-19 15:07:52 )