SAK 図書館
VB テクニック編17 - プリンタ一覧取得、プログレスバー、リストビュー
■SAK 関数利用規程 ・テクニック編で紹介する関数は、私こと Y.SAK の開発関数である。 ・著作権明示部分の改編は認めない。 ・個人、企業がこれらの関数を使用したり、一部を使用して新たなシステムや プログラムを開発することは自由です。 ・但し、これらの関数を一部でも使用しているソフトウェアをシェアウェア、 その他有償プロダクトとして配布・販売するには、私の許可が必要です。 (無償のフリーソフトウェアなら、自由に配布しても良い。) ・これらの関数を使用して発生した、いかなる形での損害も私こと Y.SAK は 賠償しません。 ■プリンタ一覧取得 ・プリンタの一覧を得るには、次のようにする。 DeviceName で「EPSON PM-2000C」のようなプリンタ名が、 DriverName で「EPIJNL10」のようなドライバ名が参照できる。 dim p as variant for each p in printers print p.DeviceName & " " & p.DriverName next ■プログレスバーコントロール ・プログレスバーコントロールは、次のように制御する。 ProgressBar1.Min は最小値、ProgressBar1.Max は最大値である。 ProgressBar1.Value で、現在の進捗状況をセットする。 (処理状況、進行状況、インジケータ、プロセスバー) Dim i As Long Dim tmsv As Double ProgressBar1.Min = 0 ProgressBar1.Max = 100 For i = ProgressBar1.Min To ProgressBar1.Max ProgressBar1.Value = i Do Until Timer > tmsv DoEvents Loop tmsv = Timer Next ■リストビューコントロール ・リストビューコントロールへのデータ追加は、次のようにする。 複数選択を可能にするには、ListView1.MultiSelect = True にする。 ListView の ListItems の添字は 1 から始まるので注意する。 ListView1.ListItems.Add , , "abc" ListView1.ListItems.Add , , "def" ListView1.ListItems.Add , , "ghi" ListView1.ListItems.Add , , "jkl" ・全データを選択するには、次のようにする。 dim l as variant For Each l In ListView1.ListItems l.Selected = true Next ListView1.SetFocus ・全データを未選択するには、次のようにする。 dim l as variant For Each l In ListView1.ListItems l.Selected = false Next ListView1.SetFocus ・先頭から連続で指定個数データをコードによって選択するには、次のように する。この例では、先頭から 2 個のデータが選択される。 但し、既に選択されているデータはそのままである。 dim i as long dim j as long j = 2 if j > ListView1.ListItems.count then msgbox "添字オーバー" For i = 1 to j ListView1.ListItems(i).Selected = true Next ListView1.SetFocus ・先頭から連続で指定個数データだけをコードによって選択するには、次のよ うにする。この例では、先頭から 2 個のデータが選択される。 既に選択されているデータは一旦未選択になる。 dim l as variant dim i as long dim j as long For Each l In ListView1.ListItems l.Selected = false Next ListView1.SetFocus j = 2 if j > ListView1.ListItems.count then msgbox "添字オーバー" For i = 1 to j ListView1.ListItems(i).Selected = true Next ListView1.SetFocus ・任意の複数データだけをコードによって選択するには、次のようにする。 この例では、2 個と 4 個目のデータが選択される。 既に選択されているデータは一旦未選択になる。 dim l as variant dim i as long For Each l In ListView1.ListItems l.Selected = false Next ListView1.SetFocus i = 2 if i > ListView1.ListItems.count then msgbox "添字オーバー" ListView1.ListItems(i).Selected = true i = 4 if i > ListView1.ListItems.count then msgbox "添字オーバー" ListView1.ListItems(i).Selected = true ListView1.SetFocus ・選択データを処理するには、次のようにする。 ListItems.index は、先頭を 1 とした添字である。 ListItems.text は、データテキストである。 dim l as variant cls For Each l In ListView1.ListItems if l.Selected then print l.index & " " & l.text & " 選択" else print l.index & " " & l.text & " 未選択" end if Next ListView1.SetFocus ■VB テクニック編資料
■VB 入門編資料
■VB 基礎編資料
■VB ビジュアル編資料