とりあえず作るだけはこんな方法でできます。
Dim oSheet as Excel.Worksheet oSheet.OLEObjects.Add classtype:="Forms.CheckBox.1", _ Width:=12, Height:=9.75, Left:=426, Top:=YPos
本来は、ExcelでFormのコントロールを貼ると数式のところに
=EMBED("Form.Checkbox.1","")
とでる、あれをやれれば完璧なのですが、どうしてもうまくいかない。AddFormulaメソッドを使っても、#NAMEという名前参照エラーになっちゃうし…うーむ、わからん。うまくごまかすしかないか。
結局今回とった方法はこんな感じ(G列に対してループを廻しています)
Set chkbox = oSheet.Shapes.AddFormControl(xlCheckBox, 330, YPos, 11, 8) chkbox.ControlFormat.LinkedCell = "G" & CStr(i + 2)
ただ、これラベルの編集と、チェックボックスを3Dにするプロパティが見つからないんですよねぇ。チェックボックスのプロパティから表示されるダイアログボックスでは項目があるので、どこかに設定があるはずなのですが。