Я использую VBA для создания листа Excel, который включает элементы управления формы ActiveX. Однако документация, доступная для свойств объекта, довольно отрывочна. Я заметил, что когда я создаю, например, элемент управления OptionButton, объект включает сплошную белую рамку. Я могу вручную перейти в режим дизайна; щелкните правой кнопкой мыши; «Формат объекта», затем на вкладке «Цвета и линии» в диалоговом окне измените «Заливка (автоматическая)» на «Без заливки». См. следующий пример:
Однако мне еще предстоит выяснить, как это сделать с помощью кода. См. следующее:
Dim sht as Sheet
Set sht = [WorkbookObject].Sheets(1)
With sht
.OLEObjects.Add(ClassType:="Forms.OptionButton.1", Left:=4.5, Top:=34.5, Width:=105, Height:=15).Name = "RadioB_1"
With .OLEObjects("RadioB_1").Object
.Caption = "First Option"
.GroupName = "ColumnFilter"
.BackColor = RGB (128, 128, 128)
.BackStyle = 1
End With
' The above all works fine, however I can't find the correct property
' for the border fill. I have tried various properties for
' .OLEObjects("RadioB_1") and for .OLEObjects("RadioB_1").Object
' however I can't find the correct property.
End With
Браузер объектов Excel не дает мне большой подсказки.
Я также просмотрел Статья MSDN о свойствах объекта OLE, однако, похоже, нет ничего, что могло бы мне помочь.