Я использую VBA для создания листа Excel, который содержит элементы управления ActiveX. Однако документация, доступная для свойств объекта, довольно отрывочная. Я замечаю, что когда я создаю, например, элемент управления OptionButton, объект включает сплошную белую границу. Я могу вручную перейти в режим разработки; щелкните правой кнопкой мыши; «Форматировать объект», затем на вкладке «Цвета и линии» в диалоговом окне измените Fill (Автоматический) на «Без заполнения». Смотрите следующий пример:Удалить границу из OLEObject на листе в Excel с помощью VBA
Однако я до сих пор выяснить, как сделать это с помощью кода. См. Следующее:
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's Article on OLE Object Properties, однако, похоже, нет ничего, что могло бы решить то, что мне нужно.