我使用VBA生成包含ActiveX表单控件的Excel表单。但是,对象属性的可用文档相当粗略。我注意到,当我创建一个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's Article on OLE Object Properties,但似乎没有什么可以解决我需要的问题。
答案 0 :(得分:1)
啊哈..!更多的搜索,我找到了自己的问题的答案:
sht.OLEObjects("RadioB_1").ShapeRange.Fill.Transparency = 1
ShapeRange在该MS页面上列出,但它的名称具有误导性,官方文档中仍然没有任何地方实际列出所有属性及其作用!无论如何 - 我决定将答案发布到我自己的问题中,以便将来有人寻求这样做。