看起來this website有一個可愛的小功能,做到這一點。從本質上講,您需要測試它是否是多重選擇,然後執行以下兩項操作之一。我想,如果你提前知道的時間,這是/不是一個多選,你甚至不需要「if」語句:
If List0.MultiSelect = 0 Then
List0 = Null
Else
For Each varItem In List0.ItemsSelected
List0.Selected(varItem) = False
Next
End If
如果控制的MultiSelect
屬性設置爲無,此代碼只是將List0設置爲Null。如果該控件的MultiSelect
屬性設置爲其他任何值,則代碼將循環顯示當前選定的所有項目,並將該項目的Selected
屬性設置爲False。我的例子假定你的控制被稱爲List0
。
EDIT
要使用此代碼,使用一個事件,而不是一個宏。這裏是你如何做到這一點:
- 右鍵單擊右鍵,選擇屬性
- 在屬性表窗口中,單擊「事件」選項卡上
- 點擊「點擊」空白區域內,然後單擊下拉箭頭,然後選擇「[事件過程]」
- 單擊省略號(「...」)進入代碼編輯器。
在代碼編輯器,你應該已經在你的事件按鈕(假設該按鈕被稱爲COMMAND1:
Private Sub Command1_Click()
End Sub
添加您的代碼(假設列表框被稱爲列表0)之間:
Private Sub Command1_Click()
If List0.MultiSelect = 0 Then
List0 = Null
Else
For Each varItem In List0.ItemsSelected
List0.Selected(varItem) = False
Next
End If
End Sub
所以這是一個未綁定的控件? –