设置 ActiveX 命令按钮的字体

Setting font of an ActiveX commandbutton

我有一个 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 位时,它中断并显示 "Object doesn't support this property or method"。我可以跳过 .Font,但更改大小很关键。

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

您需要将字体设置应用于形状的字符,因此将这些字体行更改为 .TextFrame.Characters.Font,它应该会如您所愿

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

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

您可以使用:

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