' フォームのロード
Private Sub Form_Load()
Dim i As Long
' ListBox1 にプリンタ一覧を表示
ListBox1 = Printer.DeviceName
For i = 0 To Printers.Count - 1
ListBox1.AddItem Printers(i).DeviceName
Next
' Label1 に現在のデフォルトプリンタを表示
Label1 = Printer.DeviceName
For i = 0 To Printers.Count - 1
Label1.AddItem Printers(i).DeviceName
Next
End Sub
' ListBox1 をダブルクリック
Private Sub ListBox1_DblClick()
Dim i As Long
For i = 0 To Printers.Count - 1
If Printers(i).DeviceName = ListBox1 Then Exit For
Next
If i = Printers.Count Then
MsgBox "該当するプリンタがありません", vbExclamation
Exit Sub
End If
' 新しいデフォルトプリンタを登録
SetWindowsDefaultPrinter Printers(i).DeviceName, Printers(i).DriverName, Printers(i).Port
Printer.EndDoc
' Label1 に新しいデフォルトプリンタを表示
Label1 = Printer.DeviceName
End Sub