我需要禁止用戶通過條件在開發人員菜單中插入某些Excel 2007組合框控件中選擇值。現在我只管理顯示/隱藏控制。啓用/禁用Excel 2007組合框
ActiveWorkbook.Worksheets("summary").Shapes("months").Visible = year <> ""
是否可以啓用/禁用它呢?
我需要禁止用戶通過條件在開發人員菜單中插入某些Excel 2007組合框控件中選擇值。現在我只管理顯示/隱藏控制。啓用/禁用Excel 2007組合框
ActiveWorkbook.Worksheets("summary").Shapes("months").Visible = year <> ""
是否可以啓用/禁用它呢?
這不會導致「典型的」啓用/禁用的控制,如果你正在使用的ActiveX組合框,而不是一個窗體ComboBox,你會得到,但它確實阻止訪問它的用戶:
Sub ChangeState()
Dim shp As Shape
Set shp = ActiveWorkbook.Worksheets("summary").Shapes("months")
shp.ControlFormat.Enabled = Not shp.ControlFormat.Enabled
End Sub
我有什麼發現ComboBox控件可以通過
ActiveWorkbook.Worksheets("summary").DropDowns("months").Enabled = year <> ""
被禁用但不幸的是它不會顯示爲灰色直觀地顯示其狀態。
我曾經有與MS Access相同的問題。
狀態(啓用/禁用)是呈現(背景顏色=灰色)不同
我用來解決這個問題的方法是做兩件事:
Dim enabled As Boolean
enabled = year <> ""
ActiveWorkbook.Worksheets("Sheet1").Shapes(1).Enabled = enabled
If enabled Then
ActiveWorkbook.Worksheets("Sheet1").Shapes("months").BackColor = rgbGrey
Else
ActiveWorkbook.Worksheets("Sheet1").Shapes("months").BackColor = rgbWheat
End If
我beleive Shape對象不在Excel中具有Enabled屬性,因此應使用Shapes(1).ControlFormat.Enabled。謝謝! – 2009-09-23 04:39:30