Включить / отключить комбинированный список Excel 2007 - PullRequest
1 голос
/ 18 сентября 2009

Мне нужно запретить пользователю выбирать значение в каком-либо элементе управления списком Excel 2007, вставленном в меню разработчика по условию Теперь мне удалось только показать / скрыть элемент управления.

ActiveWorkbook.Worksheets("summary").Shapes("months").Visible = year <> ""

Можно ли вместо этого включить / отключить его?

Ответы [ 3 ]

3 голосов
/ 21 сентября 2009

Это не приводит к «типичному» включенному / отключенному элементу управления, который вы получили бы, если бы использовали комбинированный список ActiveX, а не комбинированный список форм, но он не позволяет пользователю получить к нему доступ:

Sub ChangeState()

    Dim shp As Shape
    Set shp = ActiveWorkbook.Worksheets("summary").Shapes("months")
    shp.ControlFormat.Enabled = Not shp.ControlFormat.Enabled

End Sub
1 голос
/ 23 сентября 2009

Раньше у меня были такие же проблемы с 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
0 голосов
/ 22 сентября 2009

Я обнаружил, что элемент управления списком можно отключить с помощью

ActiveWorkbook.Worksheets("summary").DropDowns("months").Enabled = year <> ""

но, к сожалению, он не будет серым, чтобы визуально показать его состояние.

...