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 コレクションに直接対応するものはなく、モデルが変更されています。つまり、アプリケーション用のプリンタを選択するのではなく、ユーザーがプリンタを選択できるようにする必要があります。
メモ : |
---|
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 フォーム)