【问题标题】:Marlett font missing from VBA object propertiesVBA 对象属性中缺少 Marlett 字体
【发布时间】:2015-06-05 17:35:58
【问题描述】:

我想在用户窗体上放置一个绿色的勾号,并认为创建一个带有 Marlett 字体标题“a”的标签就可以了。然而,尽管已经安装了 Marlett,但它并没有出现在对象属性中。我可以轻松地将刻度线放在单元格中,但不能放在标签中。有没有办法为用户表单启用它?

在 c# 部分有相同问题的答案 - How do I set button font to Marlett,但我不确定它是否也可以应用于 VBA。

【问题讨论】:

    标签: excel fonts object-properties vba


    【解决方案1】:

    就这么简单:

    Label1.Font.Name = "Marlett"
    Label1.Caption = "a"
    

    (重要:此代码似乎仅在您在设置标题之前设置字体时才有效;首先设置标题似乎可以防止设置字体产生影响 - 感谢@N.N.Thoughts 提供的信息)

    在您的用户表单的Userform_Initialize 事件中。将Label1替换为实际控件的名称

    编辑:添加代码来设置字体大小和颜色:

    Label1.Font.Size = "32"
    Label1.ForeColor = RGB(0, 255, 0)
    

    【讨论】:

    • 如果它这么简单,我不会把它放在 SO 上——它很快就会被否决。不幸的是,将= "Marlett" 放入Font.Name 与放入="test" 的效果大致相同。它默认为 Tahoma
    • 感谢您在有人(不是我)否决了答案后没有放弃这个问题。我让它工作,但只有在将字体放在标题之前 - 就像你的答案代码一样。如果反过来,它不适用于 Marlett,但适用于我用作测试的其他字体,例如 Impact。也许值得作为一个单独的问题提出,因为不太清楚为什么订单会产生如此大的不同。
    • 这对我来说是一样的——这个代码只有在设置标题之前设置字体才有效。不知道为什么会这样。我会把这个添加到答案中
    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多