2016-07-01 42 views
1

特にVBAのチェックボックスを使用してListViewで選択したアイテムの数を知ることができる人はいますか?ListView(VBA)で選択されたチェックボックス/アイテムの量を調べる方法

私のアプローチは次のとおりです。このListViewでチェックボックスをクリックすると、アプリケーションは選択した項目が3つ以上あるかどうかをチェックし、エラーメッセージをスローします。

Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem) 
    If checked items > 3 then 
     //Error message 
    Else 
     //continues 
    End If 
End Sub 

答えて

1

list itemsをループし、Checkedプロパティを照会する必要があります。あなたのリストボックスには、チェックボックスを使用している場合

Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem) 
' Returns the number of selected items. 
Dim li As ListItem ' Used to loop over all items. 
Dim c As Integer ' Used to count selected items. 

    ' Loop over each item. 
    For Each li In ListView1.ListItems 

     ' Increase count if selected. 
     If li.Checked = True Then c = c + 1 
    Next 

    ' Inform user. 
    MsgBox c, vbInformation, "Selected Items" 
End Sub 

編集

Checkedプロパティにのみ機能します。それ以外の場合は、選択したプロパティを使用します。 MSDNから:

このプロパティは、アイテムが中に含まれている ListViewコントロールのチェックボックスプロパティがtrueに設定されている場合にのみ有効です。 このプロパティを使用して、アイテムがユーザーによってチェックされたかどうか、または実行時に コードを使用して判断できます。 ListViewコントロールでチェックされたすべてのアイテムを確認するには、CheckedItemsプロパティを使用します。アイテムがチェックされたときに アクションを実行するには、ListViewコントロールのItemCheckプロパティにイベントハンドラ を作成します。

+0

ありがとうございます。それは良い解決策であり、それは動作します:) – yuro

関連する問題