Potrebujem zakázať používateľovi výber hodnoty v niektorom ovládači comboboxu programu Excel 2007 vloženom pomocou ponuky Vývojár podľa podmienok. Teraz sa mi podarilo iba zobraziť / skryť kontrolu.
ActiveWorkbook.Worksheets("summary").Shapes("months").Visible = year <> ""
Je možné ho zapnúť / vypnúť?
odpovede:
2 pre odpoveď č. 1To nevedie k "typickému" povolenému / zakázanému ovládaniu, ktoré by ste získali, ak by ste skôr používali combobox ActiveX než kombinácia Forms, ale zabraňuje tomu, aby používateľ k nemu pristupoval:
Sub ChangeState()
Dim shp As Shape
Set shp = ActiveWorkbook.Worksheets("summary").Shapes("months")
shp.ControlFormat.Enabled = Not shp.ControlFormat.Enabled
End Sub
1 pre odpoveď č. 2
Mala som rovnaké problémy s programom MS Access.
Stav (povolený / zakázaný) sa líši od prezentácie (farba pozadia = sivá)
Spôsob, akým som sa obchádzal, bolo urobiť oboje:
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 pre odpoveď č. 3
Zistil som, čo by mohlo zablokovať ovládanie
ActiveWorkbook.Worksheets("summary").DropDowns("months").Enabled = year <> ""
ale bohužiaľ nebudú mať šedé, aby vizuálne ukázali svoj stav.