【问题标题】:Setting font of an ActiveX commandbutton设置 ActiveX 命令按钮的字体
【发布时间】:2016-06-21 20:17:02
【问题描述】:

我有一个 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 位时,它会中断并显示“对象不支持此属性或方法”。我可以跳过.Font,但更改大小至关重要。

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

【问题讨论】:

    标签: excel excel-2013 activexobject vba


    【解决方案1】:

    你可以使用:

    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
    

    【讨论】:

    • 完美运行
    【解决方案2】:

    这个 sub 将创建 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
    

    【讨论】:

    • 是的,我一开始就是这样设置它们的。我希望自动修复缩小按钮的错误,所以当用户开始遇到问题时,我不会在那里手动修复它。
    【解决方案3】:

    您需要将字体设置应用于形状的字符,因此将这些字体行更改为.TextFrame.Characters.Font,它应该可以正常工作

    【讨论】:

    • 恐怕没有任何运气 - 同样的错误。 ActiveX 命令按钮是否缺少文本框或其他内容?
    • @AndrewPerry 尝试使用对象本身的FontSize 属性
    • 不走运。我想知道它是否可能根本无法通过 VBA 编辑......? :-(
    • @Rory 的解决方案有效 - 需要深入研究对象属性。感谢您的尝试!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2015-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多