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 の Article on OLE Object Propertiesも参照 しましたが、必要なものに対処するものはないようです。