指定のプリンターで印刷する(2題)
                                                       玄関へお回り下さい。
指定のプリンターで印刷する        (066)
    Option Explicit   'SampleNo=066 WindowsXP VB6.0(SP5) 2002.05.15

Private Sub Command1_Click()
'指定のプリンターで印刷
  Dim objPrinter  As Printer
  Dim strMyPrinter As String
  Dim PinPon    As Boolean
  strMyPrinter = "EPSON PM-3300C"     '指定のプリンター
  For Each objPrinter In Printers     '使用可能プリンターを調べ
    If objPrinter.DeviceName = strMyPrinter Then  '見つかったら
      Set Printer = objPrinter    'オブジェクトに代入
      Printer.Print "指定したプリンター(" & strMyPrinter & _
                       ") で印刷しました。"
      Printer.EndDoc
      PinPon = True  '見つかった
    End If
  Next
  If PinPon = False Then
    MsgBox "指定のプリンターが見つかりません"
  End If
End Sub

指定する場合大文字・小文字・半角・全角の区別に注意して下さい。
私の場合LP-800を通常使うプリンターでパラレル接続しPM-3300CをUSBで接続しています。その場合ソフトによって使用するプリンターを切り換える時には、便利ですよね!(通常使うプリンターも変わらないし)
プリンターを列挙して、その中から選択する     (066)
  Option Explicit   'SampleNo=066 WindowsXP VB6.0(SP5) 2002.05.15
Private strMyPrinter As String

Private Sub Command2_Click()
'プリンターを ListBox に列挙する
  Dim objPrinter As Printer
  Dim i As Integer
  List1.Clear
  strMyPrinter = Printer.DeviceName '現在のプリンター
  For Each objPrinter In Printers
    List1.AddItem objPrinter.DeviceName
    If strMyPrinter = objPrinter.DeviceName Then
      List1.Selected(i) = True '現在のプリンターを選択状態に
    End If
    i = i + 1
  Next
End Sub


Private Sub List1_DblClick()
'選択したプリンターで印刷
  Dim objPrinter As Printer
  strMyPrinter = List1.List(List1.ListIndex) '指定のプリンター
  For Each objPrinter In Printers
    If objPrinter.DeviceName = strMyPrinter Then

      Set Printer = objPrinter  'オブジェクトに代入
      Printer.Print "指定したプリンター(" & strMyPrinter & _
                       ") で印刷しました。"
      Printer.EndDoc
    End If
  Next
End Sub




2002/05/15