设置ActiveX命令按钮的字体

时间:2016-06-21 11:24:15

标签: excel-vba excel-2013 activexobject vba excel

我有一个Excel电子表格,我试图使用以下代码设置ActiveX命令按钮的字体:

With Worksheets("Schedule Tool").Shapes("CommandButton1")
    .Height = 31.4645669291
    .Width = 145.4173228346
    .Font = "Calibri"
    .Font.Size = 9
    .Left = 1017.75
    .Top = 130.5
End With

当它到达.Font.Font.Size位时,它会断开并说“#34;对象不支持此属性或方法"”。我可以跳过.Font,但改变大小非常重要。

我已经尝试用谷歌搜索它来找到ActiveX命令按钮的正确属性(我假设我只是使用了错误的属性),但我发现只是对旧缩小按钮故障的无休止讨论。有什么建议吗?

3 个答案:

答案 0 :(得分:2)

您可以使用:

With Worksheets("Schedule Tool").Shapes("CommandButton1")
    .Height = 31.4645669291
    .Width = 145.4173228346
    With .DrawingObject.Object.Font
        .Name = "Calibri"
        .Size = 9
    End With
    .Left = 1017.75
    .Top = 130.5
End With

答案 1 :(得分:1)

此子程序将创建ActiveX按钮。据我所知,字体属性无法通过VBA程序进行管理。通过转到Excel工作表中的设计模式,选择命令按钮然后从属性更改字体大小来更改字体大小。

Sub createactive_button()
'

    ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
        , DisplayAsIcon:=False, Left:=1017.75, Top:=130.5, Width:=145.4173228346, Height:=31.4645669291 _
        ).Select
End Sub

答案 2 :(得分:0)

您需要将字体设置应用于形状的字符,因此将这些字体行更改为furniture.push_back(furniture[index]->clone()); 并且它应该按预期运行