【问题标题】:Changing font style with selection.chartarea使用 selection.chartarea 更改字体样式
【发布时间】:2015-05-29 02:43:20
【问题描述】:

我正在尝试通过 selection.font.style 属性更改图表的字体样式。不幸的是,这不起作用,但我得到一个不受支持的对象或方法错误,尽管文档说明它应该可以工作

文档:https://msdn.microsoft.com/en-us/library/aa213736(v=office.11).aspx

Debug.print typename(selection) 给出:ChartArea

intelisense 也不起作用,这使事情变得复杂,有什么办法呢?

我的代码

Selection.Font.style ="mystyle"

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    StyleFont 上不存在。如果你检查documentation for that object,你会看到。有时存在未记录的属性,但通过尝试可以清楚地看出这不是那些时代之一。

    另一个指标是,一旦选择图表,功能区的Home->Styles 部分全部变灰

    如果你想更改Font,你需要通过那里可用的属性:BoldName等。

    您可以将ChartStyle 应用到ChartChartAreaParent),这与功能区中Chart->Design 库中的项目相同。这些是按数字索引的,它们是如何确定的并不明显。不过,您可以录制一个宏来获得所需的数字。

    最后,从 Intellisense 获得(一些)帮助的一个好主意是声明对象。在这种情况下,Font 不存在于 ChartArea 上,这没有多大帮助,但是当您点击它之后的点时,将为 Font 声明属性。

    Dim cht_area As ChartArea
    Set cht_area = Selection
    
    'hitting the dot before Name brings up the list
    '.. Font does not exist though
    cht_area.Font.Name = "Arial"
    

    【讨论】:

    • 有一点。范围对象存在 font.style。但为什么不用于图表对象呢?
    • 我猜他们选择不支持它。 RangesCharts(其行为更像 Shapes)之间有足够的差异,以至于将属性相互映射可能很复杂。边界定义是否变为Shape Outlines?只有2边有边框时如何申请?不匹配可能很多,不足以证明这种努力是合理的。请记住,Styles 包含的属性远不止字体详细信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 2011-12-02
    • 2015-11-01
    • 1970-01-01
    • 2011-09-15
    相关资源
    最近更新 更多