使用 VBA 从 Excel 中 sheet 上的 OLEObject 删除边框

Remove border from OLEObject on sheet in Excel with VBA

我正在使用 VBA 生成包含 ActiveX 表单控件的 Excel sheet。但是,可用于对象属性的文档相当粗略。我注意到,例如,当我创建一个 OptionButton 控件时,该对象包含一个纯白色边框。我可以手动进入设计模式;右键点击; "Format Object",然后在对话框的 "Colors and Lines" 选项卡下,将填充(自动)更改为 "No Fill"。请参阅以下示例:

但是我还没有想出如何通过代码来做到这一点。请看以下内容:

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,但是似乎没有任何东西可以满足我的需要。

啊哈..!进行了更多搜索,我找到了自己问题的答案:

sht.OLEObjects("RadioB_1").ShapeRange.Fill.Transparency = 1

ShapeRange 列在该 MS 页面上,但是它的名称具有误导性,并且官方文档中仍然没有任何地方实际列出所有属性及其作用!无论如何 - 我决定 post 我自己的问题的答案,以供将来寻找此问题的任何人使用。