次の方法で共有


Printers コレクション (Visual Basic 6.0 ユーザー向け)

更新 : 2007 年 11 月

Visual Basic 2008 には、Visual Basic 6.0 の Printers コレクションに直接対応するものがありません。

概念上の相違点

Visual Basic 6.0 では、Printers コレクションを使用して、システムで使用できるプリンタ情報を返します。一般的には、Printers コレクションを反復処理して特定の属性を持つプリンタを検索し、そのプリンタをアプリケーションの既定のプリンタに設定します。たとえば、ドット マトリックス プリンタではなく、レーザー プリンタを選択したりします。

Visual Basic 2008 では、Printers コレクションに直接対応するものはなく、モデルが変更されています。つまり、アプリケーション用のプリンタを選択するのではなく、ユーザーがプリンタを選択できるようにする必要があります。

h510w79b.alert_note(ja-jp,VS.90).gifメモ :

Visual Basic 2008 には Printers コレクションがあります。これを使用すると、アップグレード後のプロジェクトで修正しなくても Visual Basic 6.0 の Printer コードを実行できます。新たに開発する場合は、PrinterSettings クラスを使用してください。

PrintDialog コンポーネントを使用すると、使用可能なプリンタの一覧をユーザーに表示できます。ユーザーが選択したプリンタのプロパティは、PrinterSettings クラスで取得できます。

Visual Basic 6.0 の Printers コレクションには、Item、Count という 2 つのプロパティがあります。PrintDialog コンポーネントには、これに相当するプロパティはありません。PrinterSettings クラスには、Item および Count を備えた InstalledPrinters コレクションがありますが、これは String コレクションであり、これを使用してプリンタの属性を照会することはできません。

Printers コレクションに関するコードの変更点

次のコード例は、Visual Basic 6.0 と Visual Basic 2008 のコーディング テクニックの違いを示しています。

使用できるプリンタの一覧を返すコードの変更点

次の例は、使用できるプリンタの一覧を ListBox コントロールに表示する方法を示しています。

' Visual Basic 6.0
Dim X As Printer
For Each X In Printers
    List1.AddItem X.DeviceName
Next
' Visual Basic
Dim i As Integer
Dim pkInstalledPrinters As String
For i = 0 To System.Drawing.Printing.PrinterSettings. _
  InstalledPrinters.Count - 1

  pkInstalledPrinters = System.Drawing.Printing.PrinterSettings. _
    InstalledPrinters.Item(i)
  ListBox1.Items.Add(pkInstalledPrinters)
Next

アップグレード メモ

Visual Basic 6.0 アプリケーションを Visual Basic 2008 にアップグレードすると、Printers コレクションのインスタンスは Visual Basic 2008Printer オブジェクトにアップグレードされます。

参照

概念

印刷の変更点 (Visual Basic 6.0 ユーザー向け)

参照

PrintDialog コンポーネントの概要 (Windows フォーム)

PrinterSettings

その他の技術情報

Windows フォームにおける印刷のサポート